[INFO] cloning repository https://github.com/Lapz/undisclosed [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lapz/undisclosed" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLapz%2Fundisclosed", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLapz%2Fundisclosed'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cc2efbcffb4d63245c74338ea9b314881df18d92 [INFO] testing Lapz/undisclosed against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLapz%2Fundisclosed" "/workspace/builds/worker-111/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-111/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Lapz/undisclosed on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Lapz/undisclosed [INFO] finished tweaking git repo https://github.com/Lapz/undisclosed [INFO] tweaked toml for git repo https://github.com/Lapz/undisclosed written to /workspace/builds/worker-111/source/Cargo.toml [INFO] crate git repo https://github.com/Lapz/undisclosed already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded walkdir v2.1.3 [INFO] [stderr] Downloaded rand_core v0.1.0-pre.0 [INFO] [stderr] Downloaded rand v0.5.0-pre.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 086b8f10bfa95fdda7f366f732c907ad90593ba43b3719963ad1f5a100897ac8 [INFO] running `Command { std: "docker" "start" "-a" "086b8f10bfa95fdda7f366f732c907ad90593ba43b3719963ad1f5a100897ac8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "086b8f10bfa95fdda7f366f732c907ad90593ba43b3719963ad1f5a100897ac8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "086b8f10bfa95fdda7f366f732c907ad90593ba43b3719963ad1f5a100897ac8", kill_on_drop: false }` [INFO] [stdout] 086b8f10bfa95fdda7f366f732c907ad90593ba43b3719963ad1f5a100897ac8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 93b842bad5d36102d94f8821f2b844036a4ee6d9f90d354df4fa5828fa63aeec [INFO] running `Command { std: "docker" "start" "-a" "93b842bad5d36102d94f8821f2b844036a4ee6d9f90d354df4fa5828fa63aeec", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling rand_core v0.1.0-pre.0 [INFO] [stderr] Compiling underscore_vm v0.1.0 (/opt/rustwide/workdir/underscore_vm) [INFO] [stderr] Compiling underscore_util v0.1.0 (/opt/rustwide/workdir/underscore_util) [INFO] [stderr] Compiling structopt v0.1.7 [INFO] [stderr] Compiling structopt-derive v0.1.6 [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | fn try_from(T) -> Result; [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand v0.5.0-pre.0 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stdout] | --------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stdout] | --------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore_syntax v0.1.0 (/opt/rustwide/workdir/underscore_syntax) [INFO] [stderr] Compiling underscore_ir v0.1.0 (/opt/rustwide/workdir/underscore_ir) [INFO] [stderr] Compiling underscore_x86 v0.1.0 (/opt/rustwide/workdir/underscore_x86) [INFO] [stderr] Compiling underscore_semant v0.1.0 (/opt/rustwide/workdir/underscore_semant) [INFO] [stdout] warning: unused variable: `escapes` [INFO] [stdout] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | ref escapes, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stdout] | [INFO] [stdout] 149 | let mut new_sym = env.symbol(&name); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stdout] | [INFO] [stdout] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stdout] | [INFO] [stdout] 238 | let mut new_sym = env.symbol(&name); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | for mut statement in statements { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `FindEscape` [INFO] [stdout] --> underscore_semant/src/escape.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct FindEscape { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> underscore_semant/src/escape.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `find_escape` [INFO] [stdout] --> underscore_semant/src/escape.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn find_escape( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_function` [INFO] [stdout] --> underscore_semant/src/escape.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | fn escape_function( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_ident` [INFO] [stdout] --> underscore_semant/src/escape.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_statement` [INFO] [stdout] --> underscore_semant/src/escape.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | fn escape_statement( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_expression` [INFO] [stdout] --> underscore_semant/src/escape.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | fn escape_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_var` [INFO] [stdout] --> underscore_semant/src/escape.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore v0.1.0 (/opt/rustwide/workdir/underscore) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> underscore/src/main.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore/src/main.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | Ok(mut ast) => { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.61s [INFO] running `Command { std: "docker" "inspect" "93b842bad5d36102d94f8821f2b844036a4ee6d9f90d354df4fa5828fa63aeec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93b842bad5d36102d94f8821f2b844036a4ee6d9f90d354df4fa5828fa63aeec", kill_on_drop: false }` [INFO] [stdout] 93b842bad5d36102d94f8821f2b844036a4ee6d9f90d354df4fa5828fa63aeec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ab6eec33a6849b633229b1a213c138ae76517df6ecaaf7240188defbc5c21795 [INFO] running `Command { std: "docker" "start" "-a" "ab6eec33a6849b633229b1a213c138ae76517df6ecaaf7240188defbc5c21795", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | fn try_from(T) -> Result; [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stdout] | --------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stdout] | --------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling same-file v1.0.2 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore_vm v0.1.0 (/opt/rustwide/workdir/underscore_vm) [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore_util v0.1.0 (/opt/rustwide/workdir/underscore_util) [INFO] [stderr] Compiling underscore_syntax v0.1.0 (/opt/rustwide/workdir/underscore_syntax) [INFO] [stderr] Compiling underscore_ir v0.1.0 (/opt/rustwide/workdir/underscore_ir) [INFO] [stdout] warning: unused variable: `escapes` [INFO] [stdout] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | ref escapes, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore_semant v0.1.0 (/opt/rustwide/workdir/underscore_semant) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore_x86 v0.1.0 (/opt/rustwide/workdir/underscore_x86) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stdout] | [INFO] [stdout] 149 | let mut new_sym = env.symbol(&name); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stdout] | [INFO] [stdout] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stdout] | [INFO] [stdout] 238 | let mut new_sym = env.symbol(&name); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | for mut statement in statements { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `FindEscape` [INFO] [stdout] --> underscore_semant/src/escape.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct FindEscape { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> underscore_semant/src/escape.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `find_escape` [INFO] [stdout] --> underscore_semant/src/escape.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn find_escape( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_function` [INFO] [stdout] --> underscore_semant/src/escape.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | fn escape_function( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_ident` [INFO] [stdout] --> underscore_semant/src/escape.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_statement` [INFO] [stdout] --> underscore_semant/src/escape.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | fn escape_statement( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_expression` [INFO] [stdout] --> underscore_semant/src/escape.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | fn escape_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_var` [INFO] [stdout] --> underscore_semant/src/escape.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> underscore/src/main.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore/src/main.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | Ok(mut ast) => { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | fn try_from(T) -> Result; [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling walkdir v2.1.3 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stdout] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stdout] | --------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stdout] | --------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stdout] | ------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `escapes` [INFO] [stdout] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | ref escapes, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stdout] | [INFO] [stdout] 149 | let mut new_sym = env.symbol(&name); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stdout] | [INFO] [stdout] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stdout] | [INFO] [stdout] 238 | let mut new_sym = env.symbol(&name); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | for mut statement in statements { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `FindEscape` [INFO] [stdout] --> underscore_semant/src/escape.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct FindEscape { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> underscore_semant/src/escape.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `find_escape` [INFO] [stdout] --> underscore_semant/src/escape.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn find_escape( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_function` [INFO] [stdout] --> underscore_semant/src/escape.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | fn escape_function( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_ident` [INFO] [stdout] --> underscore_semant/src/escape.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_statement` [INFO] [stdout] --> underscore_semant/src/escape.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | fn escape_statement( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `escape_expression` [INFO] [stdout] --> underscore_semant/src/escape.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | fn escape_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_var` [INFO] [stdout] --> underscore_semant/src/escape.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore v0.1.0 (/opt/rustwide/workdir/underscore) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> underscore/src/main.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> underscore/src/main.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | Ok(mut ast) => { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 10.55s [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ab6eec33a6849b633229b1a213c138ae76517df6ecaaf7240188defbc5c21795", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ab6eec33a6849b633229b1a213c138ae76517df6ecaaf7240188defbc5c21795", kill_on_drop: false }` [INFO] [stdout] ab6eec33a6849b633229b1a213c138ae76517df6ecaaf7240188defbc5c21795 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f93084e85beb38edd542e8958aec37a8980fd2d46f119b01f15789bfe34c7d62 [INFO] running `Command { std: "docker" "start" "-a" "f93084e85beb38edd542e8958aec37a8980fd2d46f119b01f15789bfe34c7d62", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: `underscore_vm` (lib test) generated 19 warnings (19 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: `underscore_semant` (lib test) generated 14 warnings (14 duplicates) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] warning: `underscore` (bin "underscore" test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.55s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore-8b14ed8f36bf9ed6) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running ../tests/underscore_test.rs (/opt/rustwide/target/debug/deps/underscore_test-22caf25dff23a01a) [INFO] [stdout] Pass:0 Fail:0 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_poly_struct.us` [INFO] [stdout] error: Type `a` is not polymorphic [INFO] [stdout] 2 |  [INFO] [stdout] 3 | fn main() -> a { [INFO] [stdout] |  ^^ [INFO] [stdout] 4 |  let list = List { [INFO] [stdout] 5 |  head:10, [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/braces.us` [INFO] [stdout] error: No rules expected 'EOF'  [INFO] [stdout] 1 | fn main() { [INFO] [stdout] | ^ [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/arg_mismatch_no_inst.us` [INFO] [stdout] error: Expected `1` args found `0`  [INFO] [stdout] 6 |  [INFO] [stdout] 7 |  id(); // Expect : Expected `1` args found `0` [INFO] [stdout] |  ^^^ [INFO] [stdout] 8 | } [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.26s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/declare_change.us` [INFO] [stdout] error: Cannot unify `tvar1` vs `str` [INFO] [stdout] 2 |  let a = 10; [INFO] [stdout] 3 |  a = "a"; // Expect : Cannot unify `i32` vs `str` [INFO] [stdout] |  ^^^^^^^^ [INFO] [stdout] 4 | } [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.62s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/arg_mismatch_inst.us` [INFO] [stdout] error: Expected `1` args found `2`  [INFO] [stdout] 6 |  [INFO] [stdout] 7 |  id::(10,20); // Expect : Expected `1` args found `2` [INFO] [stdout] |  ^^^^^^^^^ [INFO] [stdout] 8 | } [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] error: struct `List` != struct `List2` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] 11 |  [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 12 | fn main() -> List { [INFO] [stderr] | [INFO] [stdout] |  ^ [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] 13 |  let list = List2 { [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] 14 |  head:10, [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] 15 |  body:nil [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stdout] 16 |  }; [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stdout] | ^^^^^^ [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] 17 |  [INFO] [stderr] | [INFO] [stdout] 18 |  return list; [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | ----^ [INFO] [stdout] 19 | } [INFO] [stderr] | | [INFO] [stdout] | ^ [INFO] [stderr] | help: remove this `mut` [INFO] [stdout] 20 |  [INFO] [stderr] ... [INFO] [stdout] 21 |  // Expect : struct `List` != struct `List2` [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.15s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/unique_tys.us` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.14s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/add_int_str.us` [INFO] [stdout] error: Cannot unify `tvar0` vs `str` [INFO] [stdout] 1 | fn main() { [INFO] [stdout] 2 |  10 + "12"; // Expect : Cannot unify `i32` vs `str` [INFO] [stdout] |  ^^^^^^^^^^ [INFO] [stdout] 3 | } [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.55s [INFO] [stdout] error: struct `List` doesn't have a field named `ass` [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/field_access.us` [INFO] [stdout] 12 |  [INFO] [stdout] 13 |  return list.ass; // Expect : struct `List` doesn't have a field named `ass` [INFO] [stdout] |  ^^^^^^^^^ [INFO] [stdout] 14 | } [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_poly.us` [INFO] [stdout] error: Type `List2` is not polymorphic [INFO] [stdout] 11 |  [INFO] [stdout] 12 | fn main() -> List2 { [INFO] [stdout] |  ^^^^^^ [INFO] [stdout] 13 |  let list = List { [INFO] [stdout] 14 |  head:10, [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stdout] error: Cannot unify `u8` vs `i32` [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/dif_sizes.us` [INFO] [stdout] 1 | fn main(a:i32) -> u8 { [INFO] [stdout] |  ^ [INFO] [stdout] 2 |  return a; // Expect : Cannot unify `u8` vs `i32` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | } [INFO] [stdout] | ^ [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_struct_alias.us` [INFO] [stdout] error: `char`is not a struct [INFO] [stdout] 8 | fn main() -> List { [INFO] [stdout] 9 |  let list = char { [INFO] [stdout] |  ^^^^^ [INFO] [stdout] 10 |  head:10, [INFO] [stdout] 11 |  body:nil [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_struct.us` [INFO] [stdout] error: Undefined struct `a`  [INFO] [stdout] 12 | fn main(a:str,b:T) -> List { [INFO] [stdout] 13 |  a { [INFO] [stdout] |  ^^ [INFO] [stdout] 14 |  val:12, [INFO] [stdout] 15 |  head:nil [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stdout] error: struct `List` != struct `List2` [INFO] [stderr] | ----^^^^^^^ [INFO] [stdout] 9 |  [INFO] [stderr] | | [INFO] [stdout] 10 | fn main(a:str) -> List { [INFO] [stderr] | help: remove this `mut` [INFO] [stdout] |  ^ [INFO] [stderr] [INFO] [stdout] 11 |  return List2{ [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stdout] 12 |  val:10, [INFO] [stderr] | [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stdout] 13 |  head:nil [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stdout] 14 |  }; [INFO] [stderr] | help: remove this `mut` [INFO] [stdout] | ^^^^^^ [INFO] [stderr] [INFO] [stdout] 15 | } [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stdout] | ^ [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stdout] 16 |  [INFO] [stderr] | [INFO] [stdout] 17 |  // Expect : struct `List` != struct `List2` [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/type_eqivilance.us` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/invalid_escape.us` [INFO] [stdout] error: Invalid escape [INFO] [stdout] 1 | fn main() { [INFO] [stdout] 2 |  "a\a"; [INFO] [stdout] |  ^^ [INFO] [stdout] 3 | } [INFO] [stdout] 4 | // Expect : Invalid escape [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/many_fields.us` [INFO] [stdout] error: `ad` is not a member of `List`  [INFO] [stdout] 14 |  head:10, [INFO] [stdout] 15 |  ad:10, [INFO] [stdout] |  ^^^ [INFO] [stdout] 16 |  hea:10 [INFO] [stdout] 17 |  }; [INFO] [stdout] error: struct `List` has too many fields [INFO] [stdout] 12 | fn main() -> List { [INFO] [stdout] 13 |  let list = List { [INFO] [stdout] |  ^^^^^^ [INFO] [stdout] 14 |  head:10, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 |  ad:10, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 16 |  hea:10 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 17 |  }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 |  [INFO] [stdout] 19 |  list; // Expect : `ad` is not a member of `List` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/unary.us` [INFO] [stdout] error: Cannot use `-` operator on type `str` [INFO] [stdout] 1 | fn main() -> bool { [INFO] [stdout] 2 |  -"A"; [INFO] [stdout] |  ^^^^ [INFO] [stdout] 3 | } [INFO] [stdout] 4 |  [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/gen_struct_Infer_mismatch.us` [INFO] [stdout] error: Cannot unify `List` vs `nil` [INFO] [stdout] 8 |  [INFO] [stdout] 9 | fn main() -> List { [INFO] [stdout] |  ^ [INFO] [stdout] 10 |  let list = List{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 |  head:10, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 |  body:10 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 13 |  }; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 14 |  [INFO] [stdout] 15 |  list; // Expect : Cannot unify `List` vs `nil` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | } [INFO] [stdout] | ^ [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/index.us` [INFO] [stdout] error:  Cannot index type `tvar0`  [INFO] [stdout] 2 |  let a = 10; [INFO] [stdout] 3 |  a[10]; // Expect : Cannot index type `i32` [INFO] [stdout] |  ^^ [INFO] [stdout] 4 | } [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_poly_instance.us` [INFO] [stdout] error: `a` is not polymorphic and cannot be instantiated [INFO] [stdout] 8 | fn main() -> List { [INFO] [stdout] 9 |  let list = a:: { [INFO] [stdout] |  ^^ [INFO] [stdout] 10 |  head:10, [INFO] [stdout] 11 |  body:10 [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/if_cond.us` [INFO] [stdout] error: Cannot unify `bool` vs `str` [INFO] [stdout] 1 | fn main() { [INFO] [stdout] 2 |  if "a" { // Expect : Cannot unify `bool` vs `str` [INFO] [stdout] |  ^^^^ [INFO] [stdout] 3 |  [INFO] [stdout] 4 |  } [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/resolver.us` [INFO] [stdout] error: `main ` is defined twice [INFO] [stdout] 20 |  [INFO] [stdout] 21 | fn main() -> List { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 |  let list = List { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 |  head:10, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 |  body:nil [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 |  } ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 26 |  [INFO] [stdout] 27 |  return list; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | } [INFO] [stdout] | ^ [INFO] [stdout] 29 |  [INFO] [stdout] 30 |  [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/few_fields.us` [INFO] [stdout] error: struct `List` is missing fields [INFO] [stdout] 6 | fn main() -> List { [INFO] [stdout] 7 |  let list = List { [INFO] [stdout] |  ^^^^^^ [INFO] [stdout] 8 |  head:10 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 9 |  }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 |  [INFO] [stdout] 11 |  list; // Expect : struct `List` is missing fields [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 142 | push!(&self.code.constants[index..index+1] => self.stack,[self.stack_top,1]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 152 | push!(&self.code.constants[index..index+4] => self.stack,[self.stack_top,4]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 162 | push!(&self.code.constants[index..index+8] => self.stack,[self.stack_top,8]); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 177 | push!( &to_bytes!(-a => i8) => self.stack,[self.stack_top,size]); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 182 | push!( &to_bytes!(-a => i32) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 187 | push!( &to_bytes!(-a => i64) => self.stack,[self.stack_top,size]); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 193 | Ok(OpCode::Add) => binary_op!(+,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 194 | Ok(OpCode::Divide) => binary_op!(/,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 195 | Ok(OpCode::Multiply) => binary_op!(*,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 196 | Ok(OpCode::Subtract) => binary_op!(-,self), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `push` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `underscore_vm` (lib) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: unused variable: `escapes` [INFO] [stderr] --> underscore_semant/src/infer/function.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | ref escapes, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `escapes: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/infer/types.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let mut ty = if let Some(ty) = env.look_type(ident.value).cloned() { [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] --> underscore_semant/src/monomorphize.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let mut defs = self.new_defs.get_mut(&symbol).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:238:25 [INFO] [stderr] | [INFO] [stderr] 238 | let mut new_sym = env.symbol(&name); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore_semant/src/monomorphize.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for mut statement in statements { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FindEscape` [INFO] [stderr] --> underscore_semant/src/escape.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct FindEscape { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> underscore_semant/src/escape.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_escape` [INFO] [stderr] --> underscore_semant/src/escape.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn find_escape( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_function` [INFO] [stderr] --> underscore_semant/src/escape.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | fn escape_function( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_ident` [INFO] [stderr] --> underscore_semant/src/escape.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn check_ident(&mut self, ident: Symbol, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_statement` [INFO] [stderr] --> underscore_semant/src/escape.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | fn escape_statement( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `escape_expression` [INFO] [stderr] --> underscore_semant/src/escape.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn escape_expression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_var` [INFO] [stderr] --> underscore_semant/src/escape.rs:196:8 [INFO] [stderr] | [INFO] [stderr] 196 | fn check_var(&mut self, var: &Spanned, env: &mut Symbols<(u32, bool)>) -> InferResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `underscore_semant` (lib) generated 14 warnings [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> underscore/src/main.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> underscore/src/main.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(mut ast) => { [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: `underscore` (bin "underscore") generated 2 warnings [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/cast_struct.us` [INFO] [stdout] error: Cannot cast `List` to type `i32` [INFO] [stdout] 12 |  [INFO] [stdout] 13 |  list as i32; // Expect : Cannot cast `List` to type `i32` [INFO] [stdout] |  ^^^^^^^^^^^^ [INFO] [stdout] 14 | } [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore_ir-98dbc76811e8e373) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore_semant-ab2bde49337443b1) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore_syntax-21ef33460d28da7a) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore_util-afc243c6b225b5da) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore_vm-4dd1df302ca76aaa) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test chunk::test::it_work ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore_x86-d4389ab2791620d4) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests underscore_ir [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests underscore_semant [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests underscore_syntax [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests underscore_util [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests underscore_vm [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests underscore_x86 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f93084e85beb38edd542e8958aec37a8980fd2d46f119b01f15789bfe34c7d62", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f93084e85beb38edd542e8958aec37a8980fd2d46f119b01f15789bfe34c7d62", kill_on_drop: false }` [INFO] [stdout] f93084e85beb38edd542e8958aec37a8980fd2d46f119b01f15789bfe34c7d62