[INFO] cloning repository https://github.com/ggodet-bar/lisp-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ggodet-bar/lisp-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fggodet-bar%2Flisp-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fggodet-bar%2Flisp-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 03a31f705636532920c58cedfee626ca89539cba [INFO] checking ggodet-bar/lisp-rs against master#5a45ab9738330fb317d49e3594c2db5248b1e971 for pr-136303 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fggodet-bar%2Flisp-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ggodet-bar/lisp-rs on toolchain 5a45ab9738330fb317d49e3594c2db5248b1e971 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ggodet-bar/lisp-rs [INFO] finished tweaking git repo https://github.com/ggodet-bar/lisp-rs [INFO] tweaked toml for git repo https://github.com/ggodet-bar/lisp-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/ggodet-bar/lisp-rs 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" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded filesystem v0.4.4 [INFO] [stderr] Downloaded clap_lex v0.1.1 [INFO] [stderr] Downloaded clap v3.1.12 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b87c67d9db5291912f3bb288c1d7de381d0152441e7565d32fc0fe1e41f1438a [INFO] running `Command { std: "docker" "start" "-a" "b87c67d9db5291912f3bb288c1d7de381d0152441e7565d32fc0fe1e41f1438a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b87c67d9db5291912f3bb288c1d7de381d0152441e7565d32fc0fe1e41f1438a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b87c67d9db5291912f3bb288c1d7de381d0152441e7565d32fc0fe1e41f1438a", kill_on_drop: false }` [INFO] [stdout] b87c67d9db5291912f3bb288c1d7de381d0152441e7565d32fc0fe1e41f1438a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f45c3a093f8d5ee427de082a6abf630f50f144117b8784c80fc713df78ecf7b0 [INFO] running `Command { std: "docker" "start" "-a" "f45c3a093f8d5ee427de082a6abf630f50f144117b8784c80fc713df78ecf7b0", kill_on_drop: false }` [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.37 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.92 [INFO] [stderr] Compiling libc v0.2.125 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.11 [INFO] [stderr] Compiling serde v1.0.140 [INFO] [stderr] Checking once_cell v1.13.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling rustversion v1.0.6 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling cpufeatures v0.2.2 [INFO] [stderr] Compiling rayon-core v1.9.3 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking ryu v1.0.10 [INFO] [stderr] Checking either v1.7.0 [INFO] [stderr] Compiling serde_json v1.0.82 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling crossbeam-epoch v0.9.10 [INFO] [stderr] Compiling generic-array v0.14.5 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling pest v2.1.3 [INFO] [stderr] Compiling indexmap v1.8.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling rayon v1.5.3 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Checking crossbeam-channel v0.5.6 [INFO] [stderr] Checking os_str_bytes v6.0.0 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking itoa v1.0.2 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking plotters-backend v0.3.4 [INFO] [stderr] Compiling serde_derive v1.0.140 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking crossbeam-deque v0.8.2 [INFO] [stderr] Checking plotters-svg v0.3.2 [INFO] [stderr] Checking clap_lex v0.1.1 [INFO] [stderr] Compiling pest_meta v2.1.3 [INFO] [stderr] Compiling err-derive v0.3.1 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking textwrap v0.15.0 [INFO] [stderr] Checking regex-syntax v0.6.27 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking half v1.8.2 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking termcolor v1.1.3 [INFO] [stderr] Checking filesystem v0.4.4 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking slab v0.4.6 [INFO] [stderr] Checking oorandom v11.1.3 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling rust-embed-utils v7.2.0 [INFO] [stderr] Checking regex v1.6.0 [INFO] [stderr] Checking criterion-plot v0.4.5 [INFO] [stderr] Checking plotters v0.3.2 [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 synstructure v0.12.6 [INFO] [stderr] Compiling pest_generator v2.1.3 [INFO] [stderr] Compiling rust-embed-impl v6.2.0 [INFO] [stderr] Compiling clap_derive v3.1.7 [INFO] [stderr] Checking rust-embed v6.4.0 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Checking clap v3.1.12 [INFO] [stderr] Checking lisp-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking criterion v0.3.6 [INFO] [stdout] warning: unused variable: `symbol_cell_car` [INFO] [stdout] --> src/lisprs/core/put.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_cell_car` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_name_cell_car` [INFO] [stdout] --> src/lisprs/core/put.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_name_cell_car` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_value` [INFO] [stdout] --> src/lisprs/core/put.rs:18:69 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lisprs/evaluator.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | let mut previous_cell = &mut self.memory.borrow_mem_mut(previous_cell_idx); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lisprs/parser.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | let mut last_cell = &mut self.memory.borrow_mem_mut(list_tail_ptr); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lisprs/symbol.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | let mut prop_cell = &mut mem.mem[prop_cell_idx]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_list`, `car_ptr`, `deallocate`, and `is_deallocated` are never used [INFO] [stdout] --> src/lisprs/cell.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Cell { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn is_list(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn car_ptr(&self) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn deallocate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn is_deallocated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_stack_frame_idx` is never read [INFO] [stdout] --> src/lisprs/lisp_env.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Inner { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 24 | pub(crate) mem: Slab, [INFO] [stdout] 25 | pub(crate) last_stack_frame_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_memory`, `memory_size`, and `global_scope_contains_property` are never used [INFO] [stdout] --> src/lisprs/lisp_env.rs:216:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl LispEnv { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 216 | pub(crate) fn print_memory(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub(crate) fn memory_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub(crate) fn global_scope_contains_property(&self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_property_by_name`, `get_property_value_by_name`, and `property_count` are never used [INFO] [stdout] --> src/lisprs/symbol.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'a> Symbol<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_property_by_name(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn get_property_value_by_name(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn property_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_true` is never used [INFO] [stdout] --> src/lisprs/util.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn is_true(val: u64) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `Error` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_error_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_fmt_Display_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_std_io_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] 5 | #[error(display = "Failed to access file: {:?}", _0)] [INFO] [stdout] 6 | Io(#[error(from)] std::io::Error), [INFO] [stdout] | -------------- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_pest_error_Error_super_parser_Rule_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 9 | Parsing(#[error(from)] pest::error::Error), [INFO] [stdout] | ------------------ ------------------- `Rule` is not local [INFO] [stdout] | | [INFO] [stdout] | `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_Utf8Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 12 | Encoding(#[error(from)] Utf8Error), [INFO] [stdout] | --------- `Utf8Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_super_evaluator_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 15 | Evaluation(#[error(from)] super::evaluator::Error), [INFO] [stdout] | ----------------------- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::cell::Cell` [INFO] [stdout] --> benches/../src/lisprs/cell.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | use crate::lisprs::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `as_number`, `is_number`, and `number_pointer` [INFO] [stdout] --> benches/../src/lisprs/core/add.rs:49:31 [INFO] [stdout] | [INFO] [stdout] 49 | use crate::lisprs::util::{as_number, is_number, number_pointer}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/add.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::as_number` [INFO] [stdout] --> benches/../src/lisprs/core/car.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | use crate::lisprs::util::as_number; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/car.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::list::List` [INFO] [stdout] --> benches/../src/lisprs/core/cdr.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::lisprs::list::List; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `as_number`, `is_pointer`, `is_true`, and `ptr` [INFO] [stdout] --> benches/../src/lisprs/core/cdr.rs:28:31 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::lisprs::util::{as_number, is_pointer, is_true, ptr}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/cdr.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `as_number` and `is_number` [INFO] [stdout] --> benches/../src/lisprs/core/if.rs:36:31 [INFO] [stdout] | [INFO] [stdout] 36 | use crate::lisprs::util::{as_number, is_number}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/if.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::true_symbol` [INFO] [stdout] --> benches/../src/lisprs/core/lt_equal.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | use crate::lisprs::util::true_symbol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/lt_equal.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::number_pointer` [INFO] [stdout] --> benches/../src/lisprs/core/mult.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | use crate::lisprs::util::number_pointer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/mult.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::is_true` [INFO] [stdout] --> benches/../src/lisprs/core/not.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::lisprs::util::is_true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/not.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::is_true` [INFO] [stdout] --> benches/../src/lisprs/core/structural_eq.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | use crate::lisprs::util::is_true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/structural_eq.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::number_pointer` [INFO] [stdout] --> benches/../src/lisprs/core/sub.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | use crate::lisprs::util::number_pointer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/sub.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::cell::Cell` [INFO] [stdout] --> benches/../src/lisprs/core/symbols.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | use crate::lisprs::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `is_pointer` and `ptr` [INFO] [stdout] --> benches/../src/lisprs/core/symbols.rs:44:31 [INFO] [stdout] | [INFO] [stdout] 44 | use crate::lisprs::util::{is_pointer, ptr}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/core/symbols.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::cell::Cell` [INFO] [stdout] --> benches/../src/lisprs/evaluator.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | use crate::lisprs::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::list::List` [INFO] [stdout] --> benches/../src/lisprs/evaluator.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | use crate::lisprs::list::List; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::symbol::Symbol` [INFO] [stdout] --> benches/../src/lisprs/evaluator.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | use crate::lisprs::symbol::Symbol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `as_number`, `is_number`, `is_pointer`, `is_symbol_ptr`, `number_pointer`, and `ptr` [INFO] [stdout] --> benches/../src/lisprs/evaluator.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | as_number, is_number, is_pointer, is_symbol_ptr, number_pointer, ptr, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/evaluator.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::*` [INFO] [stdout] --> benches/../src/lisprs/evaluator.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | use log::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::cell::Cell` [INFO] [stdout] --> benches/../src/lisprs/frame.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | use crate::lisprs::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `is_symbol_ptr` and `ptr` [INFO] [stdout] --> benches/../src/lisprs/frame.rs:135:31 [INFO] [stdout] | [INFO] [stdout] 135 | use crate::lisprs::util::{is_symbol_ptr, ptr}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/frame.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `as_number` and `ptr` [INFO] [stdout] --> benches/../src/lisprs/iter.rs:53:31 [INFO] [stdout] | [INFO] [stdout] 53 | use crate::lisprs::util::{as_number, ptr}; [INFO] [stdout] | ^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/iter.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> benches/../src/lisprs/lisp_env.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::as_number` [INFO] [stdout] --> benches/../src/lisprs/lisp_env.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | use crate::lisprs::util::as_number; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::cell::Cell` [INFO] [stdout] --> benches/../src/lisprs/parser.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | use crate::lisprs::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::parser::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/parser.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | use crate::lisprs::parser::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `as_number`, `as_ptr`, `is_number`, `is_pointer`, `is_symbol_ptr`, and `ptr` [INFO] [stdout] --> benches/../src/lisprs/parser.rs:128:31 [INFO] [stdout] | [INFO] [stdout] 128 | use crate::lisprs::util::{as_number, as_ptr, is_number, is_pointer, is_symbol_ptr, ptr}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::cell::Cell` [INFO] [stdout] --> benches/../src/lisprs/symbol.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | use crate::lisprs::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::util::number_pointer` [INFO] [stdout] --> benches/../src/lisprs/symbol.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | use crate::lisprs::util::number_pointer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lisprs::LispEnv` [INFO] [stdout] --> benches/../src/lisprs/symbol.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use crate::lisprs::LispEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::Cell` [INFO] [stdout] --> benches/../src/lisprs/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use cell::Cell; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol_cell_car` [INFO] [stdout] --> benches/../src/lisprs/core/put.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_cell_car` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_name_cell_car` [INFO] [stdout] --> benches/../src/lisprs/core/put.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_name_cell_car` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_value` [INFO] [stdout] --> benches/../src/lisprs/core/put.rs:18:69 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/../src/lisprs/evaluator.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | let mut previous_cell = &mut self.memory.borrow_mem_mut(previous_cell_idx); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/../src/lisprs/parser.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | let mut last_cell = &mut self.memory.borrow_mem_mut(list_tail_ptr); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/../src/lisprs/symbol.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | let mut prop_cell = &mut mem.mem[prop_cell_idx]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_list`, `car_ptr`, `deallocate`, and `is_deallocated` are never used [INFO] [stdout] --> benches/../src/lisprs/cell.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Cell { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn is_list(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn car_ptr(&self) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn deallocate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn is_deallocated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_stack_frame_idx` is never read [INFO] [stdout] --> benches/../src/lisprs/lisp_env.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Inner { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 24 | pub(crate) mem: Slab, [INFO] [stdout] 25 | pub(crate) last_stack_frame_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_memory`, `memory_size`, and `global_scope_contains_property` are never used [INFO] [stdout] --> benches/../src/lisprs/lisp_env.rs:216:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl LispEnv { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 216 | pub(crate) fn print_memory(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub(crate) fn memory_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub(crate) fn global_scope_contains_property(&self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_property_by_name`, `get_property_value_by_name`, and `property_count` are never used [INFO] [stdout] --> benches/../src/lisprs/symbol.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'a> Symbol<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_property_by_name(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn get_property_value_by_name(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn property_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_true` is never used [INFO] [stdout] --> benches/../src/lisprs/util.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn is_true(val: u64) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> benches/../src/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `Error` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_error_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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] --> benches/../src/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_fmt_Display_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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] --> benches/../src/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_std_io_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] 5 | #[error(display = "Failed to access file: {:?}", _0)] [INFO] [stdout] 6 | Io(#[error(from)] std::io::Error), [INFO] [stdout] | -------------- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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] --> benches/../src/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_pest_error_Error_super_parser_Rule_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 9 | Parsing(#[error(from)] pest::error::Error), [INFO] [stdout] | ------------------ ------------------- `Rule` is not local [INFO] [stdout] | | [INFO] [stdout] | `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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] --> benches/../src/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_Utf8Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 12 | Encoding(#[error(from)] Utf8Error), [INFO] [stdout] | --------- `Utf8Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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] --> benches/../src/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_super_evaluator_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 15 | Evaluation(#[error(from)] super::evaluator::Error), [INFO] [stdout] | ----------------------- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol_cell_car` [INFO] [stdout] --> src/lisprs/core/put.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_cell_car` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_name_cell_car` [INFO] [stdout] --> src/lisprs/core/put.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_name_cell_car` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_value` [INFO] [stdout] --> src/lisprs/core/put.rs:18:69 [INFO] [stdout] | [INFO] [stdout] 18 | let (_symbol_name, symbol_cell_car, property_name_cell_car, property_value) = { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lisprs/evaluator.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | let mut previous_cell = &mut self.memory.borrow_mem_mut(previous_cell_idx); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lisprs/parser.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | let mut last_cell = &mut self.memory.borrow_mem_mut(list_tail_ptr); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lisprs/symbol.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | let mut prop_cell = &mut mem.mem[prop_cell_idx]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deallocate` and `is_deallocated` are never used [INFO] [stdout] --> src/lisprs/cell.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Cell { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn deallocate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn is_deallocated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_stack_frame_idx` is never read [INFO] [stdout] --> src/lisprs/lisp_env.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Inner { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 24 | pub(crate) mem: Slab, [INFO] [stdout] 25 | pub(crate) last_stack_frame_idx: usize, [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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `Error` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_error_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_fmt_Display_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_std_io_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] 5 | #[error(display = "Failed to access file: {:?}", _0)] [INFO] [stdout] 6 | Io(#[error(from)] std::io::Error), [INFO] [stdout] | -------------- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_pest_error_Error_super_parser_Rule_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 9 | Parsing(#[error(from)] pest::error::Error), [INFO] [stdout] | ------------------ ------------------- `Rule` is not local [INFO] [stdout] | | [INFO] [stdout] | `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_Utf8Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 12 | Encoding(#[error(from)] Utf8Error), [INFO] [stdout] | --------- `Utf8Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (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/lisprs/error.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(err_derive::Error, Debug)] [INFO] [stdout] | ^---------------- [INFO] [stdout] | | [INFO] [stdout] | `From` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_core_convert_From_super_evaluator_Error_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] ... [INFO] [stdout] 15 | Evaluation(#[error(from)] super::evaluator::Error), [INFO] [stdout] | ----------------------- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `err_derive::Error` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `err_derive::Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_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 `err_derive::Error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.17s [INFO] running `Command { std: "docker" "inspect" "f45c3a093f8d5ee427de082a6abf630f50f144117b8784c80fc713df78ecf7b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f45c3a093f8d5ee427de082a6abf630f50f144117b8784c80fc713df78ecf7b0", kill_on_drop: false }` [INFO] [stdout] f45c3a093f8d5ee427de082a6abf630f50f144117b8784c80fc713df78ecf7b0