[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 try#ce59db7a1b1b012fb2793c4641c1bdecad7a128b for pr-85530 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLapz%2Fundisclosed" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Lapz/undisclosed on toolchain ce59db7a1b1b012fb2793c4641c1bdecad7a128b [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "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-13/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" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rand_core v0.1.0-pre.0 [INFO] [stderr] Downloaded rand v0.5.0-pre.0 [INFO] [stderr] Downloaded walkdir v2.1.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e7f82b6cf5c89282db87f9e63aac2faa52579f97e4c597292fc7331b602fec7b [INFO] running `Command { std: "docker" "start" "-a" "e7f82b6cf5c89282db87f9e63aac2faa52579f97e4c597292fc7331b602fec7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e7f82b6cf5c89282db87f9e63aac2faa52579f97e4c597292fc7331b602fec7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7f82b6cf5c89282db87f9e63aac2faa52579f97e4c597292fc7331b602fec7b", kill_on_drop: false }` [INFO] [stdout] e7f82b6cf5c89282db87f9e63aac2faa52579f97e4c597292fc7331b602fec7b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a2718610d5466fab38e449f636760767b368791a35efd43fc0633df02eb0be92 [INFO] running `Command { std: "docker" "start" "-a" "a2718610d5466fab38e449f636760767b368791a35efd43fc0633df02eb0be92", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.36 [INFO] [stderr] Compiling ansi_term v0.10.2 [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 syn v0.11.11 [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling underscore_util v0.1.0 (/opt/rustwide/workdir/underscore_util) [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 rand v0.5.0-pre.0 [INFO] [stderr] Compiling atty v0.2.6 [INFO] [stderr] Compiling clap v2.30.0 [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 structopt-derive v0.1.6 [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 structopt v0.1.7 [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 14.32s [INFO] running `Command { std: "docker" "inspect" "a2718610d5466fab38e449f636760767b368791a35efd43fc0633df02eb0be92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2718610d5466fab38e449f636760767b368791a35efd43fc0633df02eb0be92", kill_on_drop: false }` [INFO] [stdout] a2718610d5466fab38e449f636760767b368791a35efd43fc0633df02eb0be92 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eeab3ccef2b8d17a6590c0f257a283126725f499c0a5cf8cfd0f65cf0b8a35f2 [INFO] running `Command { std: "docker" "start" "-a" "eeab3ccef2b8d17a6590c0f257a283126725f499c0a5cf8cfd0f65cf0b8a35f2", kill_on_drop: false }` [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] [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 walkdir v2.1.3 [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: 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_semant v0.1.0 (/opt/rustwide/workdir/underscore_semant) [INFO] [stderr] Compiling underscore_x86 v0.1.0 (/opt/rustwide/workdir/underscore_x86) [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] [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] [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 v0.1.0 (/opt/rustwide/workdir/underscore) [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: 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: 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: 19 warnings emitted [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: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.95s [INFO] running `Command { std: "docker" "inspect" "eeab3ccef2b8d17a6590c0f257a283126725f499c0a5cf8cfd0f65cf0b8a35f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eeab3ccef2b8d17a6590c0f257a283126725f499c0a5cf8cfd0f65cf0b8a35f2", kill_on_drop: false }` [INFO] [stdout] eeab3ccef2b8d17a6590c0f257a283126725f499c0a5cf8cfd0f65cf0b8a35f2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8d81e8ada9accab7eda325a1fdc7788b5cf9e69ccd2872a2507e1d3775fa30fb [INFO] running `Command { std: "docker" "start" "-a" "8d81e8ada9accab7eda325a1fdc7788b5cf9e69ccd2872a2507e1d3775fa30fb", kill_on_drop: false }` [INFO] [stdout] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition. [INFO] [stdout] running 0 tests [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/underscore-df97044e70dc0cd1) [INFO] [stderr] Running ../tests/underscore_test.rs (/opt/rustwide/target/debug/deps/underscore_test-53f4ae5aead1db28) [INFO] [stdout] Pass:0 Fail:0 [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition. [INFO] [stdout] error: `char`is not a struct [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 8 | fn main() -> List { [INFO] [stderr] | [INFO] [stdout] 9 |  let list = char { [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] |  ^^^^^ [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] 10 |  head:10, [INFO] [stderr] | [INFO] [stdout] 11 |  body:nil [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_struct_alias.us` [INFO] [stdout] error: Cannot unify `List` vs `nil` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition. [INFO] [stdout] 8 |  [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 9 | fn main() -> List { [INFO] [stderr] | [INFO] [stdout] |  ^ [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] 10 |  let list = List{ [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] 11 |  head:10, [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [INFO] [stdout] 12 |  body:10 [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stdout] 13 |  }; [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stdout] | ^^^^^^ [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] 14 |  [INFO] [stderr] | [INFO] [stdout] 15 |  list; // Expect : Cannot unify `List` vs `nil` [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | ----^ [INFO] [stdout] 16 | } [INFO] [stderr] | | [INFO] [stdout] | ^ [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/gen_struct_Infer_mismatch.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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] [stdout] error: `a` is not polymorphic and cannot be instantiated [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stdout] 8 | fn main() -> List { [INFO] [stderr] --> underscore_vm/src/vm.rs:29:13 [INFO] [stdout] 9 |  let list = a:: { [INFO] [stderr] | [INFO] [stdout] |  ^^ [INFO] [stderr] 29 | let mut b = &mut$stack[$from..($from + $to)]; [INFO] [stdout] 10 |  head:10, [INFO] [stderr] | ----^ [INFO] [stdout] 11 |  body:10 [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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_poly_instance.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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stdout] error: Cannot unify `bool` vs `str` [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/if_cond.us` [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.04s [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] 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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stdout] error: `ad` is not a member of `List`  [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/many_fields.us` [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] [stdout] error: No rules expected 'EOF'  [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 1 | fn main() { [INFO] [stderr] | [INFO] [stdout] | ^ [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/braces.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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [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] [stdout] error: Cannot unify `u8` vs `i32` [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 1 | fn main(a:i32) -> u8 { [INFO] [stderr] | [INFO] [stdout] |  ^ [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] 2 |  return a; // Expect : Cannot unify `u8` vs `i32` [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] 3 | } [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] | ^ [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/dif_sizes.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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.05s [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] 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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.08s [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] [stdout] error: struct `List` doesn't have a field named `ass` [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 12 |  [INFO] [stderr] | [INFO] [stdout] 13 |  return list.ass; // Expect : struct `List` doesn't have a field named `ass` [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] |  ^^^^^^^^^ [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] 14 | } [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/field_access.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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [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] [stdout] error: Expected `1` args found `0`  [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 6 |  [INFO] [stderr] | [INFO] [stdout] 7 |  id(); // Expect : Expected `1` args found `0` [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] |  ^^^ [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] 8 | } [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/arg_mismatch_no_inst.us` [INFO] [stdout] error: Undefined struct `a`  [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition. [INFO] [stdout] 12 | fn main(a:str,b:T) -> List { [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 13 |  a { [INFO] [stderr] | [INFO] [stdout] |  ^^ [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] 14 |  val:12, [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] 15 |  head:nil [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/not_struct.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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/unique_tys.us` [INFO] [stdout] error: struct `List` != struct `List2` [INFO] [stdout] 11 |  [INFO] [stdout] 12 | fn main() -> List { [INFO] [stdout] |  ^ [INFO] [stdout] 13 |  let list = List2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 |  head:10, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 |  body:nil [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 |  }; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 |  [INFO] [stdout] 18 |  return list; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | } [INFO] [stdout] | ^ [INFO] [stdout] 20 |  [INFO] [stdout] 21 |  // Expect : struct `List` != struct `List2` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition. [INFO] [stdout] error: Cannot use `-` operator on type `str` [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 1 | fn main() -> bool { [INFO] [stderr] | [INFO] [stdout] 2 |  -"A"; [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] |  ^^^^ [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] 3 | } [INFO] [stderr] | [INFO] [stdout] 4 |  [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/unary.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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.04s [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] [stdout] error:  Cannot index type `tvar0`  [INFO] [stderr] --> underscore_vm/src/op.rs:34:17 [INFO] [stdout] 2 |  let a = 10; [INFO] [stderr] | [INFO] [stdout] 3 |  a[10]; // Expect : Cannot index type `i32` [INFO] [stderr] 34 | fn try_from(T) -> Result; [INFO] [stdout] |  ^^ [INFO] [stderr] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] 4 | } [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! [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] 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] 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] 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] 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] 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] 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: 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: 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: 19 warnings emitted [INFO] [stderr] [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: 14 warnings emitted [INFO] [stderr] [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: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running `/opt/rustwide/target/debug/underscore ../tests/fail/index.us` [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition. [WARN] too many lines in the log, truncating it