[INFO] cloning repository https://github.com/faassen/aleven [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/faassen/aleven" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaassen%2Faleven", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaassen%2Faleven'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fe45cad08e5c3c36e47d2ecda1d94485bc71a8c2 [INFO] checking faassen/aleven against try#8d46be77cd48fdbcced888d027457e2c9cf2aa16 for pr-142723 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaassen%2Faleven" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/faassen/aleven on toolchain 8d46be77cd48fdbcced888d027457e2c9cf2aa16 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/faassen/aleven [INFO] finished tweaking git repo https://github.com/faassen/aleven [INFO] tweaked toml for git repo https://github.com/faassen/aleven written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/faassen/aleven 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" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking faassen/aleven against try#8d46be77cd48fdbcced888d027457e2c9cf2aa16 for pr-142723 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaassen%2Faleven" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/faassen/aleven on toolchain 8d46be77cd48fdbcced888d027457e2c9cf2aa16 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/faassen/aleven [INFO] finished tweaking git repo https://github.com/faassen/aleven [INFO] tweaked toml for git repo https://github.com/faassen/aleven written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/faassen/aleven 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" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded parameterized v1.0.0 [INFO] [stderr] Downloaded llvm-sys v130.0.4 [INFO] [stderr] Downloaded inkwell_internals v0.5.0 [INFO] [stderr] Downloaded parameterized-macro v1.0.0 [INFO] [stderr] Downloaded nom-test-helpers v6.1.3 [INFO] [stderr] Downloaded inkwell v0.1.0-beta.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 053c9e380909ca9dfdd6db6bbb23b6a0d1b156f4dc410edbf6ab8d4f7c2abead [INFO] running `Command { std: "docker" "start" "-a" "053c9e380909ca9dfdd6db6bbb23b6a0d1b156f4dc410edbf6ab8d4f7c2abead", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "053c9e380909ca9dfdd6db6bbb23b6a0d1b156f4dc410edbf6ab8d4f7c2abead", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "053c9e380909ca9dfdd6db6bbb23b6a0d1b156f4dc410edbf6ab8d4f7c2abead", kill_on_drop: false }` [INFO] [stdout] 053c9e380909ca9dfdd6db6bbb23b6a0d1b156f4dc410edbf6ab8d4f7c2abead [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 42e90637444fffaaa69dc4dc9325ce96d97a937b03598fd3239879c69074e453 [INFO] running `Command { std: "docker" "start" "-a" "42e90637444fffaaa69dc4dc9325ce96d97a937b03598fd3239879c69074e453", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling ucd-trie v0.1.4 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking once_cell v1.13.1 [INFO] [stderr] Compiling regex-syntax v0.6.27 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Compiling crossbeam-utils v0.8.11 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Compiling rustversion v1.0.9 [INFO] [stderr] Compiling rayon-core v1.9.3 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling crossbeam-epoch v0.9.10 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Checking smallvec v1.9.0 [INFO] [stderr] Compiling radium v0.5.3 [INFO] [stderr] Compiling hashbrown v0.9.1 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling inkwell v0.1.0-beta.4 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking crossbeam-channel v0.5.6 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking crossbeam-deque v0.8.2 [INFO] [stderr] Compiling nom v6.1.2 [INFO] [stderr] Compiling rayon v1.5.3 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking wyz v0.2.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking itoa v1.0.3 [INFO] [stderr] Checking plotters-backend v0.3.4 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking num-complex v0.4.2 [INFO] [stderr] Checking funty v1.1.0 [INFO] [stderr] Checking nom v7.1.1 [INFO] [stderr] Checking plotters-svg v0.3.3 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking half v1.8.2 [INFO] [stderr] Checking bitvec v0.19.6 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking plotters v0.3.3 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking regex v1.6.0 [INFO] [stderr] Checking oorandom v11.1.3 [INFO] [stderr] Checking num v0.4.0 [INFO] [stderr] Checking criterion-plot v0.4.5 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking serde_cbor v0.11.2 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Compiling thiserror-impl v1.0.32 [INFO] [stderr] Compiling parameterized-macro v1.0.0 [INFO] [stderr] Compiling inkwell_internals v0.5.0 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking parameterized v1.0.0 [INFO] [stderr] Compiling thiserror v1.0.32 [INFO] [stderr] Compiling pest v2.3.0 [INFO] [stderr] Compiling semver-parser v0.10.2 [INFO] [stderr] Checking nom-test-helpers v6.1.3 [INFO] [stderr] Compiling semver v0.11.0 [INFO] [stderr] Compiling llvm-sys v130.0.4 [INFO] [stderr] Checking criterion v0.3.6 [INFO] [stderr] Checking aleven v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::ops::Rem` [INFO] [stdout] --> src/lang.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Rem; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PassManagerBuilder` and `PassManager` [INFO] [stdout] --> src/llvm.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | use inkwell::passes::{PassManager, PassManagerBuilder}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TargetTriple` and `Target` [INFO] [stdout] --> src/llvm.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | use inkwell::targets::{Target, TargetMachine, TargetTriple}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Rem` [INFO] [stdout] --> src/lang.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Rem; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PassManagerBuilder` and `PassManager` [INFO] [stdout] --> src/llvm.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | use inkwell::passes::{PassManager, PassManagerBuilder}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TargetTriple` and `Target` [INFO] [stdout] --> src/llvm.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | use inkwell::targets::{Target, TargetMachine, TargetTriple}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/llvm.rs:984:8 [INFO] [stdout] | [INFO] [stdout] 984 | pub fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_asm` is never used [INFO] [stdout] --> src/llvmasm.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn save_asm(module: &Module) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:376:23 [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:389:24 [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:396:35 [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:440:22 [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<&str> { [INFO] [stdout] | ^^^^ ----------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<'_, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:447:28 [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<&'a str> { [INFO] [stdout] | ^^ -------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<'a, &'a str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:451:30 [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<(&'a str, u8)> { [INFO] [stdout] | ^^ -------------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<'a, (&'a str, u8)> { [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/lang.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | 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_ImmediateOpcode` [INFO] [stdout] ... [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` 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/lang.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ImmediateOpcode` [INFO] [stdout] 21 | )] [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | 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_RegisterOpcode` [INFO] [stdout] ... [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_RegisterOpcode` [INFO] [stdout] 47 | )] [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | 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_LoadOpcode` [INFO] [stdout] ... [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_LoadOpcode` [INFO] [stdout] 74 | )] [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | 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_StoreOpcode` [INFO] [stdout] ... [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StoreOpcode` [INFO] [stdout] 94 | )] [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | 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_BranchOpcode` [INFO] [stdout] ... [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchOpcode` [INFO] [stdout] 113 | )] [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | 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_BranchTargetOpcode` [INFO] [stdout] ... [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchTargetOpcode` [INFO] [stdout] 136 | )] [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | 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_CallIdOpcode` [INFO] [stdout] ... [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_CallIdOpcode` [INFO] [stdout] 154 | )] [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock)>, FxHashMap) { [INFO] [stdout] | ---------- ---------- the lifetimes get resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | the lifetimes get resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock<'_>)>, FxHashMap>) { [INFO] [stdout] | ++++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:104:10 [INFO] [stdout] | [INFO] [stdout] 104 | &'ctx self, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 105 | program_id: usize, [INFO] [stdout] 106 | codegen: &'ctx CodeGen, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 107 | memory_size: u16, [INFO] [stdout] 108 | cache: &mut FunctionValueCache<'ctx>, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 109 | ) -> JitFunction { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'ctx` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'ctx` [INFO] [stdout] | [INFO] [stdout] 109 | ) -> JitFunction<'ctx, ProgramFunc> { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Rem` [INFO] [stdout] --> src/lang.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Rem; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PassManagerBuilder` and `PassManager` [INFO] [stdout] --> src/llvm.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | use inkwell::passes::{PassManager, PassManagerBuilder}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TargetTriple` and `Target` [INFO] [stdout] --> src/llvm.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | use inkwell::targets::{Target, TargetMachine, TargetTriple}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Rem` [INFO] [stdout] --> src/lang.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Rem; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PassManagerBuilder` and `PassManager` [INFO] [stdout] --> src/llvm.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | use inkwell::passes::{PassManager, PassManagerBuilder}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TargetTriple` and `Target` [INFO] [stdout] --> src/llvm.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | use inkwell::targets::{Target, TargetMachine, TargetTriple}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/llvm.rs:984:8 [INFO] [stdout] | [INFO] [stdout] 984 | pub fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_asm` is never used [INFO] [stdout] --> src/llvmasm.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn save_asm(module: &Module) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:376:23 [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:389:24 [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:396:35 [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:440:22 [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<&str> { [INFO] [stdout] | ^^^^ ----------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<'_, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:447:28 [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<&'a str> { [INFO] [stdout] | ^^ -------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<'a, &'a str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:451:30 [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<(&'a str, u8)> { [INFO] [stdout] | ^^ -------------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<'a, (&'a str, u8)> { [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/lang.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | 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_ImmediateOpcode` [INFO] [stdout] ... [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` 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/lang.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ImmediateOpcode` [INFO] [stdout] 21 | )] [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | 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_RegisterOpcode` [INFO] [stdout] ... [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_RegisterOpcode` [INFO] [stdout] 47 | )] [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | 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_LoadOpcode` [INFO] [stdout] ... [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_LoadOpcode` [INFO] [stdout] 74 | )] [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | 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_StoreOpcode` [INFO] [stdout] ... [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StoreOpcode` [INFO] [stdout] 94 | )] [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | 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_BranchOpcode` [INFO] [stdout] ... [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchOpcode` [INFO] [stdout] 113 | )] [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | 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_BranchTargetOpcode` [INFO] [stdout] ... [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchTargetOpcode` [INFO] [stdout] 136 | )] [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | 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_CallIdOpcode` [INFO] [stdout] ... [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_CallIdOpcode` [INFO] [stdout] 154 | )] [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock)>, FxHashMap) { [INFO] [stdout] | ---------- ---------- the lifetimes get resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | the lifetimes get resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock<'_>)>, FxHashMap>) { [INFO] [stdout] | ++++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:104:10 [INFO] [stdout] | [INFO] [stdout] 104 | &'ctx self, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 105 | program_id: usize, [INFO] [stdout] 106 | codegen: &'ctx CodeGen, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 107 | memory_size: u16, [INFO] [stdout] 108 | cache: &mut FunctionValueCache<'ctx>, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 109 | ) -> JitFunction { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'ctx` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'ctx` [INFO] [stdout] | [INFO] [stdout] 109 | ) -> JitFunction<'ctx, ProgramFunc> { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | llvm::main(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = llvm::main(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:376:23 [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:389:24 [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:396:35 [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:440:22 [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<&str> { [INFO] [stdout] | ^^^^ ----------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<'_, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:447:28 [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<&'a str> { [INFO] [stdout] | ^^ -------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<'a, &'a str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:451:30 [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<(&'a str, u8)> { [INFO] [stdout] | ^^ -------------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<'a, (&'a str, u8)> { [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/lang.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | 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_ImmediateOpcode` [INFO] [stdout] ... [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` 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/lang.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ImmediateOpcode` [INFO] [stdout] 21 | )] [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | 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_RegisterOpcode` [INFO] [stdout] ... [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_RegisterOpcode` [INFO] [stdout] 47 | )] [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | 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_LoadOpcode` [INFO] [stdout] ... [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_LoadOpcode` [INFO] [stdout] 74 | )] [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | 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_StoreOpcode` [INFO] [stdout] ... [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StoreOpcode` [INFO] [stdout] 94 | )] [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | 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_BranchOpcode` [INFO] [stdout] ... [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchOpcode` [INFO] [stdout] 113 | )] [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | 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_BranchTargetOpcode` [INFO] [stdout] ... [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchTargetOpcode` [INFO] [stdout] 136 | )] [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | 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_CallIdOpcode` [INFO] [stdout] ... [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_CallIdOpcode` [INFO] [stdout] 154 | )] [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock)>, FxHashMap) { [INFO] [stdout] | ---------- ---------- the lifetimes get resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | the lifetimes get resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock<'_>)>, FxHashMap>) { [INFO] [stdout] | ++++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:104:10 [INFO] [stdout] | [INFO] [stdout] 104 | &'ctx self, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 105 | program_id: usize, [INFO] [stdout] 106 | codegen: &'ctx CodeGen, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 107 | memory_size: u16, [INFO] [stdout] 108 | cache: &mut FunctionValueCache<'ctx>, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 109 | ) -> JitFunction { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'ctx` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'ctx` [INFO] [stdout] | [INFO] [stdout] 109 | ) -> JitFunction<'ctx, ProgramFunc> { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | llvm::main(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = llvm::main(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 206 | fn register(input: &str) -> ParseResult<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:376:23 [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 376 | fn end_of_line(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 385 | fn whitespace(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:389:24 [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 389 | fn peol_comment(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:396:35 [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<()> { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 396 | fn whitespace_and_comments(input: &str) -> ParseResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:440:22 [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<&str> { [INFO] [stdout] | ^^^^ ----------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 440 | fn identifier(input: &str) -> ParseResult<'_, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:447:28 [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<&'a str> { [INFO] [stdout] | ^^ -------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 447 | fn func_header<'a>(input: &'a str) -> ParseResult<'a, &'a str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/assembler.rs:451:30 [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<(&'a str, u8)> { [INFO] [stdout] | ^^ -------------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'a` [INFO] [stdout] | | the lifetimes get resolved as `'a` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 451 | fn repeat_header<'a>(input: &'a str) -> ParseResult<'a, (&'a str, u8)> { [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/lang.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | 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_ImmediateOpcode` [INFO] [stdout] ... [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` 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/lang.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ImmediateOpcode` [INFO] [stdout] 21 | )] [INFO] [stdout] 22 | pub enum ImmediateOpcode { [INFO] [stdout] | --------------- `ImmediateOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | 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_RegisterOpcode` [INFO] [stdout] ... [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_RegisterOpcode` [INFO] [stdout] 47 | )] [INFO] [stdout] 48 | pub enum RegisterOpcode { [INFO] [stdout] | -------------- `RegisterOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | 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_LoadOpcode` [INFO] [stdout] ... [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_LoadOpcode` [INFO] [stdout] 74 | )] [INFO] [stdout] 75 | pub enum LoadOpcode { [INFO] [stdout] | ---------- `LoadOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | 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_StoreOpcode` [INFO] [stdout] ... [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StoreOpcode` [INFO] [stdout] 94 | )] [INFO] [stdout] 95 | pub enum StoreOpcode { [INFO] [stdout] | ----------- `StoreOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | 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_BranchOpcode` [INFO] [stdout] ... [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchOpcode` [INFO] [stdout] 113 | )] [INFO] [stdout] 114 | pub enum BranchOpcode { [INFO] [stdout] | ------------ `BranchOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | 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_BranchTargetOpcode` [INFO] [stdout] ... [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BranchTargetOpcode` [INFO] [stdout] 136 | )] [INFO] [stdout] 137 | pub enum BranchTargetOpcode { [INFO] [stdout] | ------------------ `BranchTargetOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (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/lang.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | 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_CallIdOpcode` [INFO] [stdout] ... [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | ToPrimitive, [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_CallIdOpcode` [INFO] [stdout] 154 | )] [INFO] [stdout] 155 | pub enum CallIdOpcode { [INFO] [stdout] | ------------ `CallIdOpcode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` 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 `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 91 | ) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/llvm.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock)>, FxHashMap) { [INFO] [stdout] | ---------- ---------- the lifetimes get resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | the lifetimes get resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 367 | ) -> (Vec<(usize, BasicBlock<'_>)>, FxHashMap>) { [INFO] [stdout] | ++++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:104:10 [INFO] [stdout] | [INFO] [stdout] 104 | &'ctx self, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 105 | program_id: usize, [INFO] [stdout] 106 | codegen: &'ctx CodeGen, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 107 | memory_size: u16, [INFO] [stdout] 108 | cache: &mut FunctionValueCache<'ctx>, [INFO] [stdout] | ^^^^ these lifetimes flow to the output [INFO] [stdout] 109 | ) -> JitFunction { [INFO] [stdout] | ------------------------ the lifetime gets resolved as `'ctx` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'ctx` [INFO] [stdout] | [INFO] [stdout] 109 | ) -> JitFunction<'ctx, ProgramFunc> { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.23s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "42e90637444fffaaa69dc4dc9325ce96d97a937b03598fd3239879c69074e453", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "42e90637444fffaaa69dc4dc9325ce96d97a937b03598fd3239879c69074e453", kill_on_drop: false }` [INFO] [stdout] 42e90637444fffaaa69dc4dc9325ce96d97a937b03598fd3239879c69074e453