[INFO] cloning repository https://github.com/golergka/rs-lox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/golergka/rs-lox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgolergka%2Frs-lox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgolergka%2Frs-lox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1869487814ace2f6d4f2add164c1c37c3fc7f35b [INFO] checking golergka/rs-lox against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgolergka%2Frs-lox" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/golergka/rs-lox [INFO] finished tweaking git repo https://github.com/golergka/rs-lox [INFO] tweaked toml for git repo https://github.com/golergka/rs-lox written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/golergka/rs-lox on toolchain 95813608313bff49cfc1afc393a946a3c085b772 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/golergka/rs-lox already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded text_io v0.1.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e4084585a5b44a63e1149880c3854f455229fbe22f458be644a1936aed07d353 [INFO] running `Command { std: "docker" "start" "-a" "e4084585a5b44a63e1149880c3854f455229fbe22f458be644a1936aed07d353", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e4084585a5b44a63e1149880c3854f455229fbe22f458be644a1936aed07d353", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e4084585a5b44a63e1149880c3854f455229fbe22f458be644a1936aed07d353", kill_on_drop: false }` [INFO] [stdout] e4084585a5b44a63e1149880c3854f455229fbe22f458be644a1936aed07d353 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 34dc0913079ffe1e4960574342689bfba6d623df1f375fef7b4c9fcfb1b5944c [INFO] running `Command { std: "docker" "start" "-a" "34dc0913079ffe1e4960574342689bfba6d623df1f375fef7b4c9fcfb1b5944c", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.76 [INFO] [stderr] Checking text_io v0.1.9 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking rs-lox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Obj` [INFO] [stdout] --> src/compiler.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gc::{Obj, GC}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::value::Value::Number` [INFO] [stdout] --> src/debug.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::value::Value::Number; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::value::*` [INFO] [stdout] --> src/debug.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::value::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::value::Value` [INFO] [stdout] --> src/gc.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::value::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/table.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ptr::{self, null_mut}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:569:62 [INFO] [stdout] | [INFO] [stdout] 569 | let expect_code = [Constant as u8, 0, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] = note: `#[deny(ambiguous_glob_imports)]` (part of `#[deny(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `True` is ambiguous [INFO] [stdout] --> src/compiler.rs:576:32 [INFO] [stdout] | [INFO] [stdout] 576 | let expect_code = [True as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `True` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `True` to disambiguate [INFO] [stdout] note: `True` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `True` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:576:55 [INFO] [stdout] | [INFO] [stdout] 576 | let expect_code = [True as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `False` is ambiguous [INFO] [stdout] --> src/compiler.rs:583:32 [INFO] [stdout] | [INFO] [stdout] 583 | let expect_code = [False as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `False` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `False` to disambiguate [INFO] [stdout] note: `False` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `False` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:583:56 [INFO] [stdout] | [INFO] [stdout] 583 | let expect_code = [False as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/compiler.rs:590:32 [INFO] [stdout] | [INFO] [stdout] 590 | let expect_code = [Nil as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:590:54 [INFO] [stdout] | [INFO] [stdout] 590 | let expect_code = [Nil as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:596:62 [INFO] [stdout] | [INFO] [stdout] 596 | let expect_code = [Constant as u8, 0, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:610:72 [INFO] [stdout] | [INFO] [stdout] 610 | let expect_code = [Constant as u8, 0, Negate as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `True` is ambiguous [INFO] [stdout] --> src/compiler.rs:617:28 [INFO] [stdout] | [INFO] [stdout] 617 | let expect_code = [True as u8, Not as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `True` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `True` to disambiguate [INFO] [stdout] note: `True` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `True` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:617:62 [INFO] [stdout] | [INFO] [stdout] 617 | let expect_code = [True as u8, Not as u8, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Equal` is ambiguous [INFO] [stdout] --> src/compiler.rs:631:13 [INFO] [stdout] | [INFO] [stdout] 631 | Equal as u8, [INFO] [stdout] | ^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Equal` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Equal` to disambiguate [INFO] [stdout] note: `Equal` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Equal` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:633:13 [INFO] [stdout] | [INFO] [stdout] 633 | Return as u8, [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Equal` is ambiguous [INFO] [stdout] --> src/compiler.rs:648:13 [INFO] [stdout] | [INFO] [stdout] 648 | Equal as u8, [INFO] [stdout] | ^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Equal` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Equal` to disambiguate [INFO] [stdout] note: `Equal` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Equal` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:651:13 [INFO] [stdout] | [INFO] [stdout] 651 | Return as u8, [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Greater` is ambiguous [INFO] [stdout] --> src/compiler.rs:666:13 [INFO] [stdout] | [INFO] [stdout] 666 | Greater as u8, [INFO] [stdout] | ^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Greater` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Greater` to disambiguate [INFO] [stdout] note: `Greater` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Greater` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:668:13 [INFO] [stdout] | [INFO] [stdout] 668 | Return as u8, [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:680:62 [INFO] [stdout] | [INFO] [stdout] 680 | let expect_code = [Constant as u8, 0, Pop as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Print` is ambiguous [INFO] [stdout] --> src/compiler.rs:688:51 [INFO] [stdout] | [INFO] [stdout] 688 | let expect_code = [Constant as u8, 0, Print as u8, Return as u8]; [INFO] [stdout] | ^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Print` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Print` to disambiguate [INFO] [stdout] note: `Print` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Print` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:688:64 [INFO] [stdout] | [INFO] [stdout] 688 | let expect_code = [Constant as u8, 0, Print as u8, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/compiler.rs:699:32 [INFO] [stdout] | [INFO] [stdout] 699 | let expect_code = [Nil as u8, DefineGlobal as u8, 0, Return as u8]; [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:699:66 [INFO] [stdout] | [INFO] [stdout] 699 | let expect_code = [Nil as u8, DefineGlobal as u8, 0, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:711:74 [INFO] [stdout] | [INFO] [stdout] 711 | let expect_code = [Constant as u8, 1, DefineGlobal as u8, 0, Return as u8]; [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Return` is ambiguous [INFO] [stdout] --> src/compiler.rs:735:17 [INFO] [stdout] | [INFO] [stdout] 735 | Return as u8, [INFO] [stdout] | ^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Return` could refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] note: `Return` could also refer to the unit variant imported here [INFO] [stdout] --> src/compiler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::scanner::TokenKind::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Return` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gc::ObjString` [INFO] [stdout] --> src/compiler.rs:563:13 [INFO] [stdout] | [INFO] [stdout] 563 | use crate::gc::ObjString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::value::*` [INFO] [stdout] --> src/debug.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::value::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:474:31 [INFO] [stdout] | [INFO] [stdout] 474 | assert_eq!(result, Ok(Nil)); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:519:41 [INFO] [stdout] | [INFO] [stdout] 519 | let const_ref = chunk.add_const(Nil); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:568:41 [INFO] [stdout] | [INFO] [stdout] 568 | let const_ref = chunk.add_const(Nil); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:599:41 [INFO] [stdout] | [INFO] [stdout] 599 | let const_ref = chunk.add_const(Nil); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:630:41 [INFO] [stdout] | [INFO] [stdout] 630 | let const_ref = chunk.add_const(Nil); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:660:41 [INFO] [stdout] | [INFO] [stdout] 660 | let const_ref = chunk.add_const(Nil); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:686:41 [INFO] [stdout] | [INFO] [stdout] 686 | let const_ref = chunk.add_const(Nil); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:828:31 [INFO] [stdout] | [INFO] [stdout] 828 | assert_eq!(result, Ok(Nil)); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:841:31 [INFO] [stdout] | [INFO] [stdout] 841 | assert_eq!(result, Ok(Nil)); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:856:31 [INFO] [stdout] | [INFO] [stdout] 856 | assert_eq!(result, Ok(Nil)); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `Nil` is ambiguous [INFO] [stdout] --> src/vm.rs:869:31 [INFO] [stdout] | [INFO] [stdout] 869 | assert_eq!(result, Ok(Nil)); [INFO] [stdout] | ^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #114095 [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `Nil` could refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::value::{are_equal, is_falsey, Value, Value::*}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] note: `Nil` could also refer to the unit variant imported here [INFO] [stdout] --> src/vm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vm::OpCode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `Nil` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::value::Value` [INFO] [stdout] --> src/gc.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::value::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/table.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ptr::{self, null_mut}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on use statements [INFO] [stdout] --> src/gc.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[macro_use]` can be applied to crates, extern crates, and modules [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 41 | Obj::String(s) => s, [INFO] [stdout] | -------------- matches all the relevant values [INFO] [stdout] 42 | _ => panic!("Expected Obj::String"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/gc.rs:120:20 [INFO] [stdout] | [INFO] [stdout] 120 | if let Obj::String(inner_string) = &self.refs.as_ref().unwrap().value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/table.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | Entry::Tombstone { key: k } => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:147:21 [INFO] [stdout] | [INFO] [stdout] 147 | let mut dest = get_entry(new_ptr, new_cap, *key); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | let mut entry = get_entry(self.ptr, self.cap, key); [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] --> src/table.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let mut result: bool = match *entry { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `error` is never used [INFO] [stdout] --> src/compiler.rs:279:8 [INFO] [stdout] | [INFO] [stdout] 255 | impl<'a> Compiler<'a> { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 279 | fn error(&mut self, message: String) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble_chunk` is never used [INFO] [stdout] --> src/debug.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn disassemble_chunk(chunk: &Chunk, name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unwrap_string` is never used [INFO] [stdout] --> src/gc.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Obj { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 39 | pub fn unwrap_string(&self) -> &ObjString { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Tombstone` is never constructed [INFO] [stdout] --> src/table.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | enum Entry { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 7 | Empty, [INFO] [stdout] 8 | Tombstone { key: *const ObjString }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print` is never used [INFO] [stdout] --> src/table.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 97 | impl Table { [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] 98 | fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete` is never used [INFO] [stdout] --> src/table.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl Table { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn delete(&mut self, key: &ObjString) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/chunk.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Copy, PartialEq, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OpCode` [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ------ `OpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/compiler.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug, FromPrimitive, Clone, Copy)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Precedence` [INFO] [stdout] 12 | enum Precedence { [INFO] [stdout] | ---------- `Precedence` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:85:38 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn new(input: &'a String) -> Scanner { [INFO] [stdout] | -- ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 85 | pub fn new(input: &'a String) -> Scanner<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/gc.rs:135:58 [INFO] [stdout] | [INFO] [stdout] 135 | Obj::String(ObjString { value, hash: _ }) => drop(value), [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&String` [INFO] [stdout] | [INFO] [stdout] = note: use `let _ = ...` to ignore the expression or result [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] ::: src/compiler.rs:599:37 [INFO] [stdout] | [INFO] [stdout] 599 | Value::Object(o) => assert_eq_str!(o, "hello world"), [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] ::: src/compiler.rs:696:37 [INFO] [stdout] | [INFO] [stdout] 696 | Value::Object(o) => assert_eq_str!(o, "x"), [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] ::: src/compiler.rs:707:37 [INFO] [stdout] | [INFO] [stdout] 707 | Value::Object(o) => assert_eq_str!(o, "x"), [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] ::: src/compiler.rs:719:37 [INFO] [stdout] | [INFO] [stdout] 719 | Value::Object(o) => assert_eq_str!(o, "x"), [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] ::: src/compiler.rs:724:37 [INFO] [stdout] | [INFO] [stdout] 724 | Value::Object(o) => assert_eq_str!(o, "x"), [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] ::: src/vm.rs:486:39 [INFO] [stdout] | [INFO] [stdout] 486 | Ok(Value::Object(obj)) => assert_eq_str!(obj, "hello world"), [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] ::: src/vm.rs:546:39 [INFO] [stdout] | [INFO] [stdout] 546 | Ok(Value::Object(obj)) => assert_eq_str!(obj, "helloworld"), [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 41 | Obj::String(s) => s, [INFO] [stdout] | -------------- matches all the relevant values [INFO] [stdout] 42 | _ => panic!("Expected Obj::String"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/gc.rs:120:20 [INFO] [stdout] | [INFO] [stdout] 120 | if let Obj::String(inner_string) = &self.refs.as_ref().unwrap().value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] ... [INFO] [stdout] 174 | assert_eq_str!(r, "hello world"); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] ... [INFO] [stdout] 183 | assert_eq_str!(s1, "hello world"); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gc.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 158 | Obj::String(obj_string) => assert_eq!(obj_string.get_value(), &$str.to_string()), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 159 | _ => panic!("Expected string"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] ... [INFO] [stdout] 184 | assert_eq_str!(s2, "hello world"); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/table.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | Entry::Tombstone { key: k } => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:147:21 [INFO] [stdout] | [INFO] [stdout] 147 | let mut dest = get_entry(new_ptr, new_cap, *key); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | let mut entry = get_entry(self.ptr, self.cap, key); [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] --> src/table.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let mut result: bool = match *entry { [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] --> src/table.rs:492:13 [INFO] [stdout] | [INFO] [stdout] 492 | let mut table: Table<()> = Table::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `error` is never used [INFO] [stdout] --> src/compiler.rs:279:8 [INFO] [stdout] | [INFO] [stdout] 255 | impl<'a> Compiler<'a> { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 279 | fn error(&mut self, message: String) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unwrap_string` is never used [INFO] [stdout] --> src/gc.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Obj { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 39 | pub fn unwrap_string(&self) -> &ObjString { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/chunk.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Copy, PartialEq, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OpCode` [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ------ `OpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/compiler.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug, FromPrimitive, Clone, Copy)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Precedence` [INFO] [stdout] 12 | enum Precedence { [INFO] [stdout] | ---------- `Precedence` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:85:38 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn new(input: &'a String) -> Scanner { [INFO] [stdout] | -- ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 85 | pub fn new(input: &'a String) -> Scanner<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/gc.rs:135:58 [INFO] [stdout] | [INFO] [stdout] 135 | Obj::String(ObjString { value, hash: _ }) => drop(value), [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&String` [INFO] [stdout] | [INFO] [stdout] = note: use `let _ = ...` to ignore the expression or result [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rs-lox` (bin "rs-lox" test) due to 70 previous errors; 28 warnings emitted [INFO] running `Command { std: "docker" "inspect" "34dc0913079ffe1e4960574342689bfba6d623df1f375fef7b4c9fcfb1b5944c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34dc0913079ffe1e4960574342689bfba6d623df1f375fef7b4c9fcfb1b5944c", kill_on_drop: false }` [INFO] [stdout] 34dc0913079ffe1e4960574342689bfba6d623df1f375fef7b4c9fcfb1b5944c