[INFO] fetching crate xlang_vm_core 0.2.0... [INFO] linting xlang_vm_core-0.2.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate xlang_vm_core 0.2.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate xlang_vm_core 0.2.0 [INFO] finished tweaking crates.io crate xlang_vm_core 0.2.0 [INFO] tweaked toml for crates.io crate xlang_vm_core 0.2.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate xlang_vm_core 0.2.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate xlang_vm_core 0.2.0 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 852a7de0bbb2cac6029aa81fbbaf5aa42b8dca4164d638eb031d16476eb057a3 [INFO] running `Command { std: "docker" "start" "-a" "852a7de0bbb2cac6029aa81fbbaf5aa42b8dca4164d638eb031d16476eb057a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "852a7de0bbb2cac6029aa81fbbaf5aa42b8dca4164d638eb031d16476eb057a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "852a7de0bbb2cac6029aa81fbbaf5aa42b8dca4164d638eb031d16476eb057a3", kill_on_drop: false }` [INFO] [stdout] 852a7de0bbb2cac6029aa81fbbaf5aa42b8dca4164d638eb031d16476eb057a3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2a67b8c647ec746ac2d6ca02cedd3594d36b9023981686160ab94aedd2316c5e [INFO] running `Command { std: "docker" "start" "-a" "2a67b8c647ec746ac2d6ca02cedd3594d36b9023981686160ab94aedd2316c5e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Checking libloading v0.8.6 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking xlang_vm_core v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/gc/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod gc; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:71:23 [INFO] [stdout] | [INFO] [stdout] 71 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:147:23 [INFO] [stdout] | [INFO] [stdout] 147 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:164:23 [INFO] [stdout] | [INFO] [stdout] 164 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `refs` [INFO] [stdout] --> src/gc/gc.rs:199:22 [INFO] [stdout] | [INFO] [stdout] 199 | for i in 0..refs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 199 - for i in 0..refs.len() { [INFO] [stdout] 199 + for in &mut refs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:337:18 [INFO] [stdout] | [INFO] [stdout] 337 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 337 - for i in 0..self.objects.len() { [INFO] [stdout] 337 + for (i, ) in alive.iter_mut().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:418:18 [INFO] [stdout] | [INFO] [stdout] 418 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 418 - for i in 0..self.objects.len() { [INFO] [stdout] 418 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:436:18 [INFO] [stdout] | [INFO] [stdout] 436 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 436 - for i in 0..self.objects.len() { [INFO] [stdout] 436 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:448:18 [INFO] [stdout] | [INFO] [stdout] 448 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 448 - for i in 0..self.objects.len() { [INFO] [stdout] 448 + for (i, ) in alive.iter_mut().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:458:18 [INFO] [stdout] | [INFO] [stdout] 458 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 458 - for i in 0..self.objects.len() { [INFO] [stdout] 458 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/gc/gc.rs:491:24 [INFO] [stdout] | [INFO] [stdout] 491 | alive[i] = !(gc_ref.get_const_traceable().ref_count == 0 [INFO] [stdout] | ________________________^ [INFO] [stdout] 492 | | && !gc_ref.is_online() [INFO] [stdout] 493 | | && gc_ref.get_const_traceable().references.is_empty() [INFO] [stdout] 494 | | && !gc_ref.is_locked()); // 检查孤岛对象 [INFO] [stdout] | |_______________________________________^ help: try: `gc_ref.get_const_traceable().ref_count != 0 || gc_ref.is_online() || !gc_ref.get_const_traceable().references.is_empty() || gc_ref.is_locked()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:489:18 [INFO] [stdout] | [INFO] [stdout] 489 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 489 - for i in 0..self.objects.len() { [INFO] [stdout] 489 + for (i, ) in alive.iter_mut().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:499:18 [INFO] [stdout] | [INFO] [stdout] 499 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 499 - for i in 0..self.objects.len() { [INFO] [stdout] 499 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/gc/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod gc; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:71:23 [INFO] [stdout] | [INFO] [stdout] 71 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:147:23 [INFO] [stdout] | [INFO] [stdout] 147 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dyn gc::gc::GCObject` -> `*mut dyn gc::gc::GCObject`) [INFO] [stdout] --> src/gc/gc.rs:164:23 [INFO] [stdout] | [INFO] [stdout] 164 | let obj = self.reference as *mut dyn GCObject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `refs` [INFO] [stdout] --> src/gc/gc.rs:199:22 [INFO] [stdout] | [INFO] [stdout] 199 | for i in 0..refs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 199 - for i in 0..refs.len() { [INFO] [stdout] 199 + for in &mut refs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:337:18 [INFO] [stdout] | [INFO] [stdout] 337 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 337 - for i in 0..self.objects.len() { [INFO] [stdout] 337 + for (i, ) in alive.iter_mut().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:418:18 [INFO] [stdout] | [INFO] [stdout] 418 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 418 - for i in 0..self.objects.len() { [INFO] [stdout] 418 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:436:18 [INFO] [stdout] | [INFO] [stdout] 436 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 436 - for i in 0..self.objects.len() { [INFO] [stdout] 436 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:448:18 [INFO] [stdout] | [INFO] [stdout] 448 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 448 - for i in 0..self.objects.len() { [INFO] [stdout] 448 + for (i, ) in alive.iter_mut().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:458:18 [INFO] [stdout] | [INFO] [stdout] 458 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 458 - for i in 0..self.objects.len() { [INFO] [stdout] 458 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/gc/gc.rs:491:24 [INFO] [stdout] | [INFO] [stdout] 491 | alive[i] = !(gc_ref.get_const_traceable().ref_count == 0 [INFO] [stdout] | ________________________^ [INFO] [stdout] 492 | | && !gc_ref.is_online() [INFO] [stdout] 493 | | && gc_ref.get_const_traceable().references.is_empty() [INFO] [stdout] 494 | | && !gc_ref.is_locked()); // 检查孤岛对象 [INFO] [stdout] | |_______________________________________^ help: try: `gc_ref.get_const_traceable().ref_count != 0 || gc_ref.is_online() || !gc_ref.get_const_traceable().references.is_empty() || gc_ref.is_locked()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:489:18 [INFO] [stdout] | [INFO] [stdout] 489 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 489 - for i in 0..self.objects.len() { [INFO] [stdout] 489 + for (i, ) in alive.iter_mut().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `alive` [INFO] [stdout] --> src/gc/gc.rs:499:18 [INFO] [stdout] | [INFO] [stdout] 499 | for i in 0..self.objects.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 499 - for i in 0..self.objects.len() { [INFO] [stdout] 499 + for (i, ) in alive.iter().enumerate().take(self.objects.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::context::ContextError` [INFO] [stdout] --> src/executor/context.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn to_string(&self) -> String { [INFO] [stdout] 30 | | match self { [INFO] [stdout] 31 | | ContextError::NoFrame(frame_type) => format!( [INFO] [stdout] 32 | | "No frame: {:?}", [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::context::ContextError` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/executor/context.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let (mut vars, _, _, _) = self.frames.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 63 ~ while let Some((mut vars, _, _, _)) = self.frames.pop() { [INFO] [stdout] 64 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/context.rs:74:16 [INFO] [stdout] | [INFO] [stdout] 74 | stack: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 74 - stack: &Vec, [INFO] [stdout] 74 + stack: &[VMStackObject], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/context.rs:231:45 [INFO] [stdout] | [INFO] [stdout] 231 | pub fn format_context(&mut self, stack: &mut Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 231 - pub fn format_context(&mut self, stack: &mut Vec) -> String { [INFO] [stdout] 231 + pub fn format_context(&mut self, stack: &mut [VMStackObject]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::vm::VMError` [INFO] [stdout] --> src/executor/vm.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / pub fn to_string(&mut self) -> String { [INFO] [stdout] 29 | | use colored::*; [INFO] [stdout] 30 | | [INFO] [stdout] 31 | | match self { [INFO] [stdout] ... | [INFO] [stdout] 78 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::vm::VMError` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `format!` args [INFO] [stdout] --> src/executor/vm.rs:249:54 [INFO] [stdout] | [INFO] [stdout] 249 | let err = VMError::DetailedError(format!( [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 250 | | "{}\n\n{}\n{}\n\n{}", [INFO] [stdout] 251 | | "** CoroutinePool Step Error! **".bright_red().bold(), [INFO] [stdout] 252 | | "# Main Error".bright_red().bold().underline(), [INFO] [stdout] 253 | | vm_error.1.to_string().red(), [INFO] [stdout] 254 | | format!("All Coroutine Contexts:\n{}", all_coroutines_contexts_repr) [INFO] [stdout] 255 | | )); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `format!` args [INFO] [stdout] --> src/executor/vm.rs:331:54 [INFO] [stdout] | [INFO] [stdout] 331 | let err = VMError::DetailedError(format!( [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 332 | | "{}\n\n{}\n{}\n\n{}", [INFO] [stdout] 333 | | "** CoroutinePool Step Error! **".bright_red().bold(), [INFO] [stdout] 334 | | "# Main Error".bright_red().bold().underline(), [INFO] [stdout] 335 | | vm_error.1.to_string().red(), [INFO] [stdout] 336 | | format!("All Coroutine Contexts:\n{}", all_coroutines_contexts_repr) [INFO] [stdout] 337 | | )); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::context::ContextError` [INFO] [stdout] --> src/executor/context.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn to_string(&self) -> String { [INFO] [stdout] 30 | | match self { [INFO] [stdout] 31 | | ContextError::NoFrame(frame_type) => format!( [INFO] [stdout] 32 | | "No frame: {:?}", [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::context::ContextError` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/executor/context.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let (mut vars, _, _, _) = self.frames.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 63 ~ while let Some((mut vars, _, _, _)) = self.frames.pop() { [INFO] [stdout] 64 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `repr` after checking its variant with `is_ok` [INFO] [stdout] --> src/executor/vm.rs:563:49 [INFO] [stdout] | [INFO] [stdout] 562 | if repr.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = repr` [INFO] [stdout] 563 | println!("{}: {:?}", i, repr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:665:50 [INFO] [stdout] | [INFO] [stdout] 664 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 665 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `lambda.self_object` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/vm.rs:670:32 [INFO] [stdout] | [INFO] [stdout] 669 | if lambda.self_object.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = &mut lambda.self_object` [INFO] [stdout] 670 | let self_obj_ref = lambda.self_object.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:673:50 [INFO] [stdout] | [INFO] [stdout] 672 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 673 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:679:46 [INFO] [stdout] | [INFO] [stdout] 678 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 679 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:684:46 [INFO] [stdout] | [INFO] [stdout] 683 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 684 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/context.rs:74:16 [INFO] [stdout] | [INFO] [stdout] 74 | stack: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 74 - stack: &Vec, [INFO] [stdout] 74 + stack: &[VMStackObject], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/context.rs:231:45 [INFO] [stdout] | [INFO] [stdout] 231 | pub fn format_context(&mut self, stack: &mut Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 231 - pub fn format_context(&mut self, stack: &mut Vec) -> String { [INFO] [stdout] 231 + pub fn format_context(&mut self, stack: &mut [VMStackObject]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/executor/vm.rs:774:46 [INFO] [stdout] | [INFO] [stdout] 774 | ... .map_err(|e| VMError::VMVariableError(e))?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `VMError::VMVariableError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::vm::VMError` [INFO] [stdout] --> src/executor/vm.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / pub fn to_string(&mut self) -> String { [INFO] [stdout] 29 | | use colored::*; [INFO] [stdout] 30 | | [INFO] [stdout] 31 | | match self { [INFO] [stdout] ... | [INFO] [stdout] 78 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::vm::VMError` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::variable::VMVariableError` [INFO] [stdout] --> src/executor/variable.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / pub fn to_string(&mut self) -> String { [INFO] [stdout] 40 | | match self { [INFO] [stdout] 41 | | VMVariableError::TypeError(gc_ref, msg) => format!( [INFO] [stdout] 42 | | "TypeError: {}: {}", [INFO] [stdout] ... | [INFO] [stdout] 94 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::variable::VMVariableError` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `format!` args [INFO] [stdout] --> src/executor/vm.rs:249:54 [INFO] [stdout] | [INFO] [stdout] 249 | let err = VMError::DetailedError(format!( [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 250 | | "{}\n\n{}\n{}\n\n{}", [INFO] [stdout] 251 | | "** CoroutinePool Step Error! **".bright_red().bold(), [INFO] [stdout] 252 | | "# Main Error".bright_red().bold().underline(), [INFO] [stdout] 253 | | vm_error.1.to_string().red(), [INFO] [stdout] 254 | | format!("All Coroutine Contexts:\n{}", all_coroutines_contexts_repr) [INFO] [stdout] 255 | | )); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/executor/variable.rs:206:21 [INFO] [stdout] | [INFO] [stdout] 206 | let alias_vec = alias [INFO] [stdout] | _____________________^ [INFO] [stdout] 207 | | .iter() [INFO] [stdout] 208 | | .rev() [INFO] [stdout] 209 | | .map(|v| v.clone()) [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 206 ~ let alias_vec = alias [INFO] [stdout] 207 + .iter() [INFO] [stdout] 208 + .rev().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `format!` args [INFO] [stdout] --> src/executor/vm.rs:331:54 [INFO] [stdout] | [INFO] [stdout] 331 | let err = VMError::DetailedError(format!( [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 332 | | "{}\n\n{}\n{}\n\n{}", [INFO] [stdout] 333 | | "** CoroutinePool Step Error! **".bright_red().bold(), [INFO] [stdout] 334 | | "# Main Error".bright_red().bold().underline(), [INFO] [stdout] 335 | | vm_error.1.to_string().red(), [INFO] [stdout] 336 | | format!("All Coroutine Contexts:\n{}", all_coroutines_contexts_repr) [INFO] [stdout] 337 | | )); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `repr` after checking its variant with `is_ok` [INFO] [stdout] --> src/executor/vm.rs:563:49 [INFO] [stdout] | [INFO] [stdout] 562 | if repr.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = repr` [INFO] [stdout] 563 | println!("{}: {:?}", i, repr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:665:50 [INFO] [stdout] | [INFO] [stdout] 664 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 665 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `lambda.self_object` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/vm.rs:670:32 [INFO] [stdout] | [INFO] [stdout] 669 | if lambda.self_object.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = &mut lambda.self_object` [INFO] [stdout] 670 | let self_obj_ref = lambda.self_object.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:673:50 [INFO] [stdout] | [INFO] [stdout] 672 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 673 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:679:46 [INFO] [stdout] | [INFO] [stdout] 678 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 679 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm.rs:684:46 [INFO] [stdout] | [INFO] [stdout] 683 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 684 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/executor/vm.rs:774:46 [INFO] [stdout] | [INFO] [stdout] 774 | ... .map_err(|e| VMError::VMVariableError(e))?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `VMError::VMVariableError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::variable::VMVariableError` [INFO] [stdout] --> src/executor/variable.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / pub fn to_string(&mut self) -> String { [INFO] [stdout] 40 | | match self { [INFO] [stdout] 41 | | VMVariableError::TypeError(gc_ref, msg) => format!( [INFO] [stdout] 42 | | "TypeError: {}: {}", [INFO] [stdout] ... | [INFO] [stdout] 94 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::variable::VMVariableError` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1017:46 [INFO] [stdout] | [INFO] [stdout] 1017 | pub fn new_with_alias(value: i64, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1017 ~ pub fn new_with_alias(value: i64, alias: &[String]) -> Self { [INFO] [stdout] 1018 | VMInt { [INFO] [stdout] 1019 | value, [INFO] [stdout] 1020 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1021 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1025:5 [INFO] [stdout] | [INFO] [stdout] 1025 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1026 | | if other.isinstance::() { [INFO] [stdout] 1027 | | self.value == other.as_const_type::().value [INFO] [stdout] 1028 | | } else if other.isinstance::() { [INFO] [stdout] ... | [INFO] [stdout] 1033 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:1029:13 [INFO] [stdout] | [INFO] [stdout] 1029 | return self.value as f64 == other.as_const_type::().value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1029 - return self.value as f64 == other.as_const_type::().value; [INFO] [stdout] 1029 + self.value as f64 == other.as_const_type::().value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/executor/variable.rs:206:21 [INFO] [stdout] | [INFO] [stdout] 206 | let alias_vec = alias [INFO] [stdout] | _____________________^ [INFO] [stdout] 207 | | .iter() [INFO] [stdout] 208 | | .rev() [INFO] [stdout] 209 | | .map(|v| v.clone()) [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 206 ~ let alias_vec = alias [INFO] [stdout] 207 + .iter() [INFO] [stdout] 208 + .rev().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1362:47 [INFO] [stdout] | [INFO] [stdout] 1362 | pub fn new_with_alias(value: &str, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1362 ~ pub fn new_with_alias(value: &str, alias: &[String]) -> Self { [INFO] [stdout] 1363 | VMString { [INFO] [stdout] 1364 | value: value.to_string(), [INFO] [stdout] 1365 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1366 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1371:5 [INFO] [stdout] | [INFO] [stdout] 1371 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1372 | | if other.isinstance::() { [INFO] [stdout] 1373 | | self.value == other.as_const_type::().value [INFO] [stdout] 1374 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 1377 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/executor/variable.rs:1460:21 [INFO] [stdout] | [INFO] [stdout] 1460 | while let Some(nc) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for nc in chars.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1706:46 [INFO] [stdout] | [INFO] [stdout] 1706 | pub fn new_with_alias(value: f64, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1706 ~ pub fn new_with_alias(value: f64, alias: &[String]) -> Self { [INFO] [stdout] 1707 | VMFloat { [INFO] [stdout] 1708 | value, [INFO] [stdout] 1709 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1710 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1714:5 [INFO] [stdout] | [INFO] [stdout] 1714 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1715 | | if other.isinstance::() { [INFO] [stdout] 1716 | | self.value == other.as_const_type::().value [INFO] [stdout] 1717 | | } else if other.isinstance::() { [INFO] [stdout] ... | [INFO] [stdout] 1722 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:1718:13 [INFO] [stdout] | [INFO] [stdout] 1718 | return self.value == other.as_const_type::().value as f64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1718 - return self.value == other.as_const_type::().value as f64; [INFO] [stdout] 1718 + self.value == other.as_const_type::().value as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:1913:13 [INFO] [stdout] | [INFO] [stdout] 1913 | / return Err(VMVariableError::ValueError2Param( [INFO] [stdout] 1914 | | GCRef::wrap(self).clone_ref(), [INFO] [stdout] 1915 | | value.clone_ref(), [INFO] [stdout] 1916 | | "Cannot assign a value of non-float type".to_string(), [INFO] [stdout] 1917 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1913 ~ Err(VMVariableError::ValueError2Param( [INFO] [stdout] 1914 + GCRef::wrap(self).clone_ref(), [INFO] [stdout] 1915 + value.clone_ref(), [INFO] [stdout] 1916 + "Cannot assign a value of non-float type".to_string(), [INFO] [stdout] 1917 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1949:47 [INFO] [stdout] | [INFO] [stdout] 1949 | pub fn new_with_alias(value: bool, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1949 ~ pub fn new_with_alias(value: bool, alias: &[String]) -> Self { [INFO] [stdout] 1950 | VMBoolean { [INFO] [stdout] 1951 | value, [INFO] [stdout] 1952 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1953 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1957:5 [INFO] [stdout] | [INFO] [stdout] 1957 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1958 | | if other.isinstance::() { [INFO] [stdout] 1959 | | self.value == other.as_const_type::().value [INFO] [stdout] 1960 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 1963 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:2050:13 [INFO] [stdout] | [INFO] [stdout] 2050 | / return Err(VMVariableError::ValueError2Param( [INFO] [stdout] 2051 | | GCRef::wrap(self).clone_ref(), [INFO] [stdout] 2052 | | value.clone_ref(), [INFO] [stdout] 2053 | | "Cannot assign a value of non-boolean type".to_string(), [INFO] [stdout] 2054 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2050 ~ Err(VMVariableError::ValueError2Param( [INFO] [stdout] 2051 + GCRef::wrap(self).clone_ref(), [INFO] [stdout] 2052 + value.clone_ref(), [INFO] [stdout] 2053 + "Cannot assign a value of non-boolean type".to_string(), [INFO] [stdout] 2054 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2090:34 [INFO] [stdout] | [INFO] [stdout] 2090 | pub fn new_with_alias(alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2090 ~ pub fn new_with_alias(alias: &[String]) -> Self { [INFO] [stdout] 2091 | VMNull { [INFO] [stdout] 2092 | traceable: GCTraceable::new::(None), [INFO] [stdout] 2093 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2097:5 [INFO] [stdout] | [INFO] [stdout] 2097 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2098 | | other.isinstance::() [INFO] [stdout] 2099 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2168:70 [INFO] [stdout] | [INFO] [stdout] 2168 | pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2168 ~ pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &[String]) -> Self { [INFO] [stdout] 2169 | VMKeyVal { [INFO] [stdout] ... [INFO] [stdout] 2172 | traceable: GCTraceable::new::(Some(&mut vec![key, value])), [INFO] [stdout] 2173 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2197:5 [INFO] [stdout] | [INFO] [stdout] 2197 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2198 | | if other.isinstance::() { [INFO] [stdout] 2199 | | let other_kv = other.as_const_type::(); [INFO] [stdout] 2200 | | let key_eq = try_eq_as_vmobject(&self.key, &other_kv.key); [INFO] [stdout] ... | [INFO] [stdout] 2206 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2368:70 [INFO] [stdout] | [INFO] [stdout] 2368 | pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2368 ~ pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &[String]) -> Self { [INFO] [stdout] 2369 | VMNamed { [INFO] [stdout] ... [INFO] [stdout] 2372 | traceable: GCTraceable::new::(Some(&mut vec![key, value])), [INFO] [stdout] 2373 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2397:5 [INFO] [stdout] | [INFO] [stdout] 2397 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2398 | | if other.isinstance::() { [INFO] [stdout] 2399 | | let other_kv = other.as_const_type::(); [INFO] [stdout] 2400 | | let key_eq = try_eq_as_vmobject(&self.key, &other_kv.key); [INFO] [stdout] ... | [INFO] [stdout] 2406 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1017:46 [INFO] [stdout] | [INFO] [stdout] 1017 | pub fn new_with_alias(value: i64, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1017 ~ pub fn new_with_alias(value: i64, alias: &[String]) -> Self { [INFO] [stdout] 1018 | VMInt { [INFO] [stdout] 1019 | value, [INFO] [stdout] 1020 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1021 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1025:5 [INFO] [stdout] | [INFO] [stdout] 1025 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1026 | | if other.isinstance::() { [INFO] [stdout] 1027 | | self.value == other.as_const_type::().value [INFO] [stdout] 1028 | | } else if other.isinstance::() { [INFO] [stdout] ... | [INFO] [stdout] 1033 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:1029:13 [INFO] [stdout] | [INFO] [stdout] 1029 | return self.value as f64 == other.as_const_type::().value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1029 - return self.value as f64 == other.as_const_type::().value; [INFO] [stdout] 1029 + self.value as f64 == other.as_const_type::().value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2493:64 [INFO] [stdout] | [INFO] [stdout] 2493 | pub fn new_with_alias(values: &mut Vec<&mut GCRef>, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2493 ~ pub fn new_with_alias(values: &mut Vec<&mut GCRef>, alias: &[String]) -> Self { [INFO] [stdout] 2494 | // 创建对象并设置引用跟踪 [INFO] [stdout] ... [INFO] [stdout] 2502 | traceable: gc_traceable, [INFO] [stdout] 2503 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VMTuple` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/executor/variable.rs:2509:5 [INFO] [stdout] | [INFO] [stdout] 2509 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2513:5 [INFO] [stdout] | [INFO] [stdout] 2513 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2514 | | if other.isinstance::() { [INFO] [stdout] 2515 | | let other_tuple = other.as_const_type::(); [INFO] [stdout] ... | [INFO] [stdout] 2537 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `assigned` [INFO] [stdout] --> src/executor/variable.rs:2676:22 [INFO] [stdout] | [INFO] [stdout] 2676 | for i in 0..self.values.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 2676 - for i in 0..self.values.len() { [INFO] [stdout] 2676 + for (i, ) in assigned.iter_mut().enumerate().take(self.values.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1362:47 [INFO] [stdout] | [INFO] [stdout] 1362 | pub fn new_with_alias(value: &str, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1362 ~ pub fn new_with_alias(value: &str, alias: &[String]) -> Self { [INFO] [stdout] 1363 | VMString { [INFO] [stdout] 1364 | value: value.to_string(), [INFO] [stdout] 1365 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1366 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1371:5 [INFO] [stdout] | [INFO] [stdout] 1371 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1372 | | if other.isinstance::() { [INFO] [stdout] 1373 | | self.value == other.as_const_type::().value [INFO] [stdout] 1374 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 1377 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `assigned` [INFO] [stdout] --> src/executor/variable.rs:2765:22 [INFO] [stdout] | [INFO] [stdout] 2765 | for i in 0..self.values.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 2765 - for i in 0..self.values.len() { [INFO] [stdout] 2765 + for (i, ) in assigned.iter_mut().enumerate().take(self.values.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/executor/variable.rs:1460:21 [INFO] [stdout] | [INFO] [stdout] 1460 | while let Some(nc) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for nc in chars.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3052:16 [INFO] [stdout] | [INFO] [stdout] 3052 | alias: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3052 ~ alias: &[String], [INFO] [stdout] 3053 | ) -> Self { [INFO] [stdout] ... [INFO] [stdout] 3056 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3057 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1706:46 [INFO] [stdout] | [INFO] [stdout] 1706 | pub fn new_with_alias(value: f64, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1706 ~ pub fn new_with_alias(value: f64, alias: &[String]) -> Self { [INFO] [stdout] 1707 | VMFloat { [INFO] [stdout] 1708 | value, [INFO] [stdout] 1709 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1710 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1714:5 [INFO] [stdout] | [INFO] [stdout] 1714 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1715 | | if other.isinstance::() { [INFO] [stdout] 1716 | | self.value == other.as_const_type::().value [INFO] [stdout] 1717 | | } else if other.isinstance::() { [INFO] [stdout] ... | [INFO] [stdout] 1722 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:1718:13 [INFO] [stdout] | [INFO] [stdout] 1718 | return self.value == other.as_const_type::().value as f64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1718 - return self.value == other.as_const_type::().value as f64; [INFO] [stdout] 1718 + self.value == other.as_const_type::().value as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::variable::VMCoroutineStatus` [INFO] [stdout] --> src/executor/variable.rs:3128:5 [INFO] [stdout] | [INFO] [stdout] 3128 | / pub fn to_string(&self) -> String { [INFO] [stdout] 3129 | | match self { [INFO] [stdout] 3130 | | VMCoroutineStatus::Running => "Running".bright_green().bold().to_string(), [INFO] [stdout] 3131 | | VMCoroutineStatus::Finished => "Finished".bright_yellow().bold().to_string(), [INFO] [stdout] ... | [INFO] [stdout] 3135 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::variable::VMCoroutineStatus` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/executor/variable.rs:3141:9 [INFO] [stdout] | [INFO] [stdout] 3141 | / fn( [INFO] [stdout] 3142 | | Option<&mut GCRef>, [INFO] [stdout] 3143 | | Option<&mut GCRef>, [INFO] [stdout] 3144 | | &mut GCRef, [INFO] [stdout] 3145 | | &mut GCSystem, [INFO] [stdout] 3146 | | ) -> Result, [INFO] [stdout] | |___________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/executor/variable.rs:3226:5 [INFO] [stdout] | [INFO] [stdout] 3226 | / pub fn new( [INFO] [stdout] 3227 | | code_position: usize, [INFO] [stdout] 3228 | | signature: String, [INFO] [stdout] 3229 | | default_args_tuple: &mut GCRef, [INFO] [stdout] ... | [INFO] [stdout] 3234 | | dynamic_params: bool, [INFO] [stdout] 3235 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/executor/variable.rs:3293:5 [INFO] [stdout] | [INFO] [stdout] 3293 | / pub fn new_with_alias( [INFO] [stdout] 3294 | | code_position: usize, [INFO] [stdout] 3295 | | signature: String, [INFO] [stdout] 3296 | | default_args_tuple: &mut GCRef, [INFO] [stdout] ... | [INFO] [stdout] 3302 | | dynamic_params: bool, [INFO] [stdout] 3303 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3301:16 [INFO] [stdout] | [INFO] [stdout] 3301 | alias: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3301 ~ alias: &[String], [INFO] [stdout] 3302 | dynamic_params: bool, [INFO] [stdout] ... [INFO] [stdout] 3355 | coroutine_status: VMCoroutineStatus::Running, [INFO] [stdout] 3356 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.self_object` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/variable.rs:3372:35 [INFO] [stdout] | [INFO] [stdout] 3370 | if self.self_object.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = &mut self.self_object` [INFO] [stdout] 3371 | self.traceable [INFO] [stdout] 3372 | .remove_reference(self.self_object.as_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.self_object` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/variable.rs:3406:35 [INFO] [stdout] | [INFO] [stdout] 3404 | if self.self_object.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = &mut self.self_object` [INFO] [stdout] 3405 | self.traceable [INFO] [stdout] 3406 | .remove_reference(self.self_object.as_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.capture` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/variable.rs:3410:35 [INFO] [stdout] | [INFO] [stdout] 3408 | if self.capture.is_some() { [INFO] [stdout] | ------------------------- help: try: `if let Some() = &mut self.capture` [INFO] [stdout] 3409 | self.traceable [INFO] [stdout] 3410 | .remove_reference(self.capture.as_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:1913:13 [INFO] [stdout] | [INFO] [stdout] 1913 | / return Err(VMVariableError::ValueError2Param( [INFO] [stdout] 1914 | | GCRef::wrap(self).clone_ref(), [INFO] [stdout] 1915 | | value.clone_ref(), [INFO] [stdout] 1916 | | "Cannot assign a value of non-float type".to_string(), [INFO] [stdout] 1917 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1913 ~ Err(VMVariableError::ValueError2Param( [INFO] [stdout] 1914 + GCRef::wrap(self).clone_ref(), [INFO] [stdout] 1915 + value.clone_ref(), [INFO] [stdout] 1916 + "Cannot assign a value of non-float type".to_string(), [INFO] [stdout] 1917 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:1949:47 [INFO] [stdout] | [INFO] [stdout] 1949 | pub fn new_with_alias(value: bool, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1949 ~ pub fn new_with_alias(value: bool, alias: &[String]) -> Self { [INFO] [stdout] 1950 | VMBoolean { [INFO] [stdout] 1951 | value, [INFO] [stdout] 1952 | traceable: GCTraceable::new::(None), [INFO] [stdout] 1953 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:1957:5 [INFO] [stdout] | [INFO] [stdout] 1957 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 1958 | | if other.isinstance::() { [INFO] [stdout] 1959 | | self.value == other.as_const_type::().value [INFO] [stdout] 1960 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 1963 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3547:52 [INFO] [stdout] | [INFO] [stdout] 3547 | pub fn new_with_alias(clambda: CLambda, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3547 ~ pub fn new_with_alias(clambda: CLambda, alias: &[String]) -> Self { [INFO] [stdout] 3548 | VMCLambdaInstruction { [INFO] [stdout] 3549 | clambda, [INFO] [stdout] 3550 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3551 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:2050:13 [INFO] [stdout] | [INFO] [stdout] 2050 | / return Err(VMVariableError::ValueError2Param( [INFO] [stdout] 2051 | | GCRef::wrap(self).clone_ref(), [INFO] [stdout] 2052 | | value.clone_ref(), [INFO] [stdout] 2053 | | "Cannot assign a value of non-boolean type".to_string(), [INFO] [stdout] 2054 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2050 ~ Err(VMVariableError::ValueError2Param( [INFO] [stdout] 2051 + GCRef::wrap(self).clone_ref(), [INFO] [stdout] 2052 + value.clone_ref(), [INFO] [stdout] 2053 + "Cannot assign a value of non-boolean type".to_string(), [INFO] [stdout] 2054 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3641:56 [INFO] [stdout] | [INFO] [stdout] 3641 | pub fn new_with_alias(start: i64, end: i64, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3641 ~ pub fn new_with_alias(start: i64, end: i64, alias: &[String]) -> Self { [INFO] [stdout] 3642 | VMRange { [INFO] [stdout] ... [INFO] [stdout] 3645 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3646 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2090:34 [INFO] [stdout] | [INFO] [stdout] 2090 | pub fn new_with_alias(alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2090 ~ pub fn new_with_alias(alias: &[String]) -> Self { [INFO] [stdout] 2091 | VMNull { [INFO] [stdout] 2092 | traceable: GCTraceable::new::(None), [INFO] [stdout] 2093 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VMRange` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/executor/variable.rs:3651:5 [INFO] [stdout] | [INFO] [stdout] 3651 | pub fn len(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2097:5 [INFO] [stdout] | [INFO] [stdout] 2097 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2098 | | other.isinstance::() [INFO] [stdout] 2099 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:3719:5 [INFO] [stdout] | [INFO] [stdout] 3719 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 3720 | | if other.isinstance::() { [INFO] [stdout] 3721 | | let other_range = other.as_const_type::(); [INFO] [stdout] 3722 | | self.start == other_range.start && self.end == other_range.end [INFO] [stdout] ... | [INFO] [stdout] 3726 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2168:70 [INFO] [stdout] | [INFO] [stdout] 2168 | pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2168 ~ pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &[String]) -> Self { [INFO] [stdout] 2169 | VMKeyVal { [INFO] [stdout] ... [INFO] [stdout] 2172 | traceable: GCTraceable::new::(Some(&mut vec![key, value])), [INFO] [stdout] 2173 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2197:5 [INFO] [stdout] | [INFO] [stdout] 2197 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2198 | | if other.isinstance::() { [INFO] [stdout] 2199 | | let other_kv = other.as_const_type::(); [INFO] [stdout] 2200 | | let key_eq = try_eq_as_vmobject(&self.key, &other_kv.key); [INFO] [stdout] ... | [INFO] [stdout] 2206 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3794:23 [INFO] [stdout] | [INFO] [stdout] 3794 | pub fn new(value: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3794 ~ pub fn new(value: &[u8]) -> Self { [INFO] [stdout] 3795 | VMBytes { [INFO] [stdout] 3796 ~ value: value.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3803:34 [INFO] [stdout] | [INFO] [stdout] 3803 | pub fn new_with_alias(value: &Vec, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3803 ~ pub fn new_with_alias(value: &[u8], alias: &Vec) -> Self { [INFO] [stdout] 3804 | VMBytes { [INFO] [stdout] 3805 ~ value: value.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3803:51 [INFO] [stdout] | [INFO] [stdout] 3803 | pub fn new_with_alias(value: &Vec, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3803 ~ pub fn new_with_alias(value: &Vec, alias: &[String]) -> Self { [INFO] [stdout] 3804 | VMBytes { [INFO] [stdout] 3805 | value: value.clone(), [INFO] [stdout] 3806 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3807 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:3812:5 [INFO] [stdout] | [INFO] [stdout] 3812 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 3813 | | if other.isinstance::() { [INFO] [stdout] 3814 | | self.value == other.as_const_type::().value [INFO] [stdout] 3815 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 3818 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VMBytes` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/executor/variable.rs:3831:5 [INFO] [stdout] | [INFO] [stdout] 3831 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2368:70 [INFO] [stdout] | [INFO] [stdout] 2368 | pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2368 ~ pub fn new_with_alias(key: &mut GCRef, value: &mut GCRef, alias: &[String]) -> Self { [INFO] [stdout] 2369 | VMNamed { [INFO] [stdout] ... [INFO] [stdout] 2372 | traceable: GCTraceable::new::(Some(&mut vec![key, value])), [INFO] [stdout] 2373 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2397:5 [INFO] [stdout] | [INFO] [stdout] 2397 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2398 | | if other.isinstance::() { [INFO] [stdout] 2399 | | let other_kv = other.as_const_type::(); [INFO] [stdout] 2400 | | let key_eq = try_eq_as_vmobject(&self.key, &other_kv.key); [INFO] [stdout] ... | [INFO] [stdout] 2406 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:4057:17 [INFO] [stdout] | [INFO] [stdout] 4057 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4057 - return Ok(value); [INFO] [stdout] 4057 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:4112:17 [INFO] [stdout] | [INFO] [stdout] 4112 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4112 - return Ok(value); [INFO] [stdout] 4112 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:4114:17 [INFO] [stdout] | [INFO] [stdout] 4114 | / return Err(VMVariableError::ValueError( [INFO] [stdout] 4115 | | index.clone_ref(), [INFO] [stdout] 4116 | | "Index must be an integer or range".to_string(), [INFO] [stdout] 4117 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4114 ~ Err(VMVariableError::ValueError( [INFO] [stdout] 4115 + index.clone_ref(), [INFO] [stdout] 4116 + "Index must be an integer or range".to_string(), [INFO] [stdout] 4117 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:2493:64 [INFO] [stdout] | [INFO] [stdout] 2493 | pub fn new_with_alias(values: &mut Vec<&mut GCRef>, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 2493 ~ pub fn new_with_alias(values: &mut Vec<&mut GCRef>, alias: &[String]) -> Self { [INFO] [stdout] 2494 | // 创建对象并设置引用跟踪 [INFO] [stdout] ... [INFO] [stdout] 2502 | traceable: gc_traceable, [INFO] [stdout] 2503 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VMTuple` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/executor/variable.rs:2509:5 [INFO] [stdout] | [INFO] [stdout] 2509 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:2513:5 [INFO] [stdout] | [INFO] [stdout] 2513 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 2514 | | if other.isinstance::() { [INFO] [stdout] 2515 | | let other_tuple = other.as_const_type::(); [INFO] [stdout] ... | [INFO] [stdout] 2537 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `new_bytes` [INFO] [stdout] --> src/executor/variable.rs:4108:26 [INFO] [stdout] | [INFO] [stdout] 4108 | for i in 0..(end - start) as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 4108 - for i in 0..(end - start) as usize { [INFO] [stdout] 4108 + for (i, ) in new_bytes.iter().enumerate().take((end - start) as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:4155:78 [INFO] [stdout] | [INFO] [stdout] 4155 | pub fn new_with_alias(collection: &mut GCRef, filter: &mut GCRef, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 4155 ~ pub fn new_with_alias(collection: &mut GCRef, filter: &mut GCRef, alias: &[String]) -> Self { [INFO] [stdout] 4156 | VMSet { [INFO] [stdout] ... [INFO] [stdout] 4159 | traceable: GCTraceable::new::(Some(&mut vec![collection, filter])), [INFO] [stdout] 4160 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `assigned` [INFO] [stdout] --> src/executor/variable.rs:2676:22 [INFO] [stdout] | [INFO] [stdout] 2676 | for i in 0..self.values.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 2676 - for i in 0..self.values.len() { [INFO] [stdout] 2676 + for (i, ) in assigned.iter_mut().enumerate().take(self.values.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub unsafe extern "C" fn rust_lookup(name: *const c_char) -> *mut c_void { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `assigned` [INFO] [stdout] --> src/executor/variable.rs:2765:22 [INFO] [stdout] | [INFO] [stdout] 2765 | for i in 0..self.values.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 2765 - for i in 0..self.values.len() { [INFO] [stdout] 2765 + for (i, ) in assigned.iter_mut().enumerate().take(self.values.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub unsafe extern "C" fn clone_ref(v: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | pub unsafe extern "C" fn drop_ref(v: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | pub unsafe extern "C" fn get_len(v: FFIGCRef) -> c_longlong { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub unsafe extern "C" fn new_vm_int64(v: c_longlong, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub unsafe extern "C" fn new_vm_float64(v: c_double, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | pub unsafe extern "C" fn new_vm_string(s: *const c_char, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub unsafe extern "C" fn new_vm_boolean(b: c_int, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | pub unsafe extern "C" fn new_vm_null(gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | / pub unsafe extern "C" fn new_vm_bytes( [INFO] [stdout] 223 | | data: *const u8, [INFO] [stdout] 224 | | len: c_int, [INFO] [stdout] 225 | | gc_system: *mut c_void, [INFO] [stdout] 226 | | ) -> FFIGCRef { unsafe { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3052:16 [INFO] [stdout] | [INFO] [stdout] 3052 | alias: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3052 ~ alias: &[String], [INFO] [stdout] 3053 | ) -> Self { [INFO] [stdout] ... [INFO] [stdout] 3056 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3057 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | pub unsafe extern "C" fn new_vm_tuple(gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | / pub unsafe extern "C" fn new_vm_keyval( [INFO] [stdout] 243 | | key: FFIGCRef, [INFO] [stdout] 244 | | value: FFIGCRef, [INFO] [stdout] 245 | | gc_system: *mut c_void, [INFO] [stdout] 246 | | ) -> FFIGCRef { unsafe { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | / pub unsafe extern "C" fn new_vm_named( [INFO] [stdout] 254 | | key: FFIGCRef, [INFO] [stdout] 255 | | value: FFIGCRef, [INFO] [stdout] 256 | | gc_system: *mut c_void, [INFO] [stdout] 257 | | ) -> FFIGCRef { unsafe { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub unsafe extern "C" fn new_vm_wrapper(value: FFIGCRef, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:271:5 [INFO] [stdout] | [INFO] [stdout] 271 | pub unsafe extern "C" fn is_vm_int(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | pub unsafe extern "C" fn is_vm_float(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `executor::variable::VMCoroutineStatus` [INFO] [stdout] --> src/executor/variable.rs:3128:5 [INFO] [stdout] | [INFO] [stdout] 3128 | / pub fn to_string(&self) -> String { [INFO] [stdout] 3129 | | match self { [INFO] [stdout] 3130 | | VMCoroutineStatus::Running => "Running".bright_green().bold().to_string(), [INFO] [stdout] 3131 | | VMCoroutineStatus::Finished => "Finished".bright_yellow().bold().to_string(), [INFO] [stdout] ... | [INFO] [stdout] 3135 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `executor::variable::VMCoroutineStatus` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/executor/variable.rs:3141:9 [INFO] [stdout] | [INFO] [stdout] 3141 | / fn( [INFO] [stdout] 3142 | | Option<&mut GCRef>, [INFO] [stdout] 3143 | | Option<&mut GCRef>, [INFO] [stdout] 3144 | | &mut GCRef, [INFO] [stdout] 3145 | | &mut GCSystem, [INFO] [stdout] 3146 | | ) -> Result, [INFO] [stdout] | |___________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:287:5 [INFO] [stdout] | [INFO] [stdout] 287 | pub unsafe extern "C" fn is_vm_string(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/executor/variable.rs:3226:5 [INFO] [stdout] | [INFO] [stdout] 3226 | / pub fn new( [INFO] [stdout] 3227 | | code_position: usize, [INFO] [stdout] 3228 | | signature: String, [INFO] [stdout] 3229 | | default_args_tuple: &mut GCRef, [INFO] [stdout] ... | [INFO] [stdout] 3234 | | dynamic_params: bool, [INFO] [stdout] 3235 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | pub unsafe extern "C" fn is_vm_boolean(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | pub unsafe extern "C" fn is_vm_null(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:319:5 [INFO] [stdout] | [INFO] [stdout] 319 | pub unsafe extern "C" fn is_vm_bytes(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | pub unsafe extern "C" fn is_vm_tuple(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:335:5 [INFO] [stdout] | [INFO] [stdout] 335 | pub unsafe extern "C" fn is_vm_keyval(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | pub unsafe extern "C" fn is_vm_named(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:355:5 [INFO] [stdout] | [INFO] [stdout] 355 | pub unsafe extern "C" fn is_vm_wrapper(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:368:5 [INFO] [stdout] | [INFO] [stdout] 368 | pub unsafe extern "C" fn get_vm_int_value(obj: FFIGCRef) -> std::ffi::c_longlong { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:380:5 [INFO] [stdout] | [INFO] [stdout] 380 | pub unsafe extern "C" fn get_vm_float_value(obj: FFIGCRef) -> c_double { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | pub unsafe extern "C" fn get_vm_string_value(obj: FFIGCRef) -> *mut c_char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub unsafe extern "C" fn get_vm_boolean_value(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub unsafe extern "C" fn vm_tuple_append(tuple: FFIGCRef, value: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/executor/variable.rs:3293:5 [INFO] [stdout] | [INFO] [stdout] 3293 | / pub fn new_with_alias( [INFO] [stdout] 3294 | | code_position: usize, [INFO] [stdout] 3295 | | signature: String, [INFO] [stdout] 3296 | | default_args_tuple: &mut GCRef, [INFO] [stdout] ... | [INFO] [stdout] 3302 | | dynamic_params: bool, [INFO] [stdout] 3303 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3301:16 [INFO] [stdout] | [INFO] [stdout] 3301 | alias: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3301 ~ alias: &[String], [INFO] [stdout] 3302 | dynamic_params: bool, [INFO] [stdout] ... [INFO] [stdout] 3355 | coroutine_status: VMCoroutineStatus::Running, [INFO] [stdout] 3356 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:444:5 [INFO] [stdout] | [INFO] [stdout] 444 | / pub unsafe extern "C" fn vm_tuple_get( [INFO] [stdout] 445 | | tuple: FFIGCRef, [INFO] [stdout] 446 | | index: c_int, [INFO] [stdout] 447 | | gc_system: *mut c_void, [INFO] [stdout] 448 | | ) -> FFIGCRef { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | pub unsafe extern "C" fn get_vm_value(obj: FFIGCRef) -> FFIGCRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.self_object` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/variable.rs:3372:35 [INFO] [stdout] | [INFO] [stdout] 3370 | if self.self_object.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = &mut self.self_object` [INFO] [stdout] 3371 | self.traceable [INFO] [stdout] 3372 | .remove_reference(self.self_object.as_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:500:5 [INFO] [stdout] | [INFO] [stdout] 500 | pub unsafe extern "C" fn get_vm_key(obj: FFIGCRef) -> FFIGCRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.self_object` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/variable.rs:3406:35 [INFO] [stdout] | [INFO] [stdout] 3404 | if self.self_object.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = &mut self.self_object` [INFO] [stdout] 3405 | self.traceable [INFO] [stdout] 3406 | .remove_reference(self.self_object.as_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:521:5 [INFO] [stdout] | [INFO] [stdout] 521 | pub unsafe extern "C" fn set_vm_value(target: FFIGCRef, value: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.capture` after checking its variant with `is_some` [INFO] [stdout] --> src/executor/variable.rs:3410:35 [INFO] [stdout] | [INFO] [stdout] 3408 | if self.capture.is_some() { [INFO] [stdout] | ------------------------- help: try: `if let Some() = &mut self.capture` [INFO] [stdout] 3409 | self.traceable [INFO] [stdout] 3410 | .remove_reference(self.capture.as_mut().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:566:5 [INFO] [stdout] | [INFO] [stdout] 566 | pub unsafe fn load_clambda(lib_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:598:5 [INFO] [stdout] | [INFO] [stdout] 598 | pub unsafe fn init_clambda(clambda: &mut CLambda) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:603:5 [INFO] [stdout] | [INFO] [stdout] 603 | pub unsafe fn destroy_clambda(clambda: &mut CLambda) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:608:5 [INFO] [stdout] | [INFO] [stdout] 608 | / pub unsafe fn call_clambda( [INFO] [stdout] 609 | | clambda: &CLambda, [INFO] [stdout] 610 | | signature: &String, [INFO] [stdout] 611 | | gc_ref: &mut GCRef, [INFO] [stdout] 612 | | gc_system: &mut GCSystem, [INFO] [stdout] 613 | | ) -> Result { unsafe { [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3547:52 [INFO] [stdout] | [INFO] [stdout] 3547 | pub fn new_with_alias(clambda: CLambda, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3547 ~ pub fn new_with_alias(clambda: CLambda, alias: &[String]) -> Self { [INFO] [stdout] 3548 | VMCLambdaInstruction { [INFO] [stdout] 3549 | clambda, [INFO] [stdout] 3550 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3551 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3641:56 [INFO] [stdout] | [INFO] [stdout] 3641 | pub fn new_with_alias(start: i64, end: i64, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3641 ~ pub fn new_with_alias(start: i64, end: i64, alias: &[String]) -> Self { [INFO] [stdout] 3642 | VMRange { [INFO] [stdout] ... [INFO] [stdout] 3645 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3646 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VMRange` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/executor/variable.rs:3651:5 [INFO] [stdout] | [INFO] [stdout] 3651 | pub fn len(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:3719:5 [INFO] [stdout] | [INFO] [stdout] 3719 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 3720 | | if other.isinstance::() { [INFO] [stdout] 3721 | | let other_range = other.as_const_type::(); [INFO] [stdout] 3722 | | self.start == other_range.start && self.end == other_range.end [INFO] [stdout] ... | [INFO] [stdout] 3726 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3794:23 [INFO] [stdout] | [INFO] [stdout] 3794 | pub fn new(value: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3794 ~ pub fn new(value: &[u8]) -> Self { [INFO] [stdout] 3795 | VMBytes { [INFO] [stdout] 3796 ~ value: value.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3803:34 [INFO] [stdout] | [INFO] [stdout] 3803 | pub fn new_with_alias(value: &Vec, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3803 ~ pub fn new_with_alias(value: &[u8], alias: &Vec) -> Self { [INFO] [stdout] 3804 | VMBytes { [INFO] [stdout] 3805 ~ value: value.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:3803:51 [INFO] [stdout] | [INFO] [stdout] 3803 | pub fn new_with_alias(value: &Vec, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3803 ~ pub fn new_with_alias(value: &Vec, alias: &[String]) -> Self { [INFO] [stdout] 3804 | VMBytes { [INFO] [stdout] 3805 | value: value.clone(), [INFO] [stdout] 3806 | traceable: GCTraceable::new::(None), [INFO] [stdout] 3807 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eq` can be confused for the standard trait method `std::cmp::PartialEq::eq` [INFO] [stdout] --> src/executor/variable.rs:3812:5 [INFO] [stdout] | [INFO] [stdout] 3812 | / pub fn eq(&self, other: &GCRef) -> bool { [INFO] [stdout] 3813 | | if other.isinstance::() { [INFO] [stdout] 3814 | | self.value == other.as_const_type::().value [INFO] [stdout] 3815 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 3818 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::cmp::PartialEq` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VMBytes` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/executor/variable.rs:3831:5 [INFO] [stdout] | [INFO] [stdout] 3831 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:4057:17 [INFO] [stdout] | [INFO] [stdout] 4057 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4057 - return Ok(value); [INFO] [stdout] 4057 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:4112:17 [INFO] [stdout] | [INFO] [stdout] 4112 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4112 - return Ok(value); [INFO] [stdout] 4112 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/executor/variable.rs:4114:17 [INFO] [stdout] | [INFO] [stdout] 4114 | / return Err(VMVariableError::ValueError( [INFO] [stdout] 4115 | | index.clone_ref(), [INFO] [stdout] 4116 | | "Index must be an integer or range".to_string(), [INFO] [stdout] 4117 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4114 ~ Err(VMVariableError::ValueError( [INFO] [stdout] 4115 + index.clone_ref(), [INFO] [stdout] 4116 + "Index must be an integer or range".to_string(), [INFO] [stdout] 4117 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `new_bytes` [INFO] [stdout] --> src/executor/variable.rs:4108:26 [INFO] [stdout] | [INFO] [stdout] 4108 | for i in 0..(end - start) as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 4108 - for i in 0..(end - start) as usize { [INFO] [stdout] 4108 + for (i, ) in new_bytes.iter().enumerate().take((end - start) as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/executor/variable.rs:4155:78 [INFO] [stdout] | [INFO] [stdout] 4155 | pub fn new_with_alias(collection: &mut GCRef, filter: &mut GCRef, alias: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 4155 ~ pub fn new_with_alias(collection: &mut GCRef, filter: &mut GCRef, alias: &[String]) -> Self { [INFO] [stdout] 4156 | VMSet { [INFO] [stdout] ... [INFO] [stdout] 4159 | traceable: GCTraceable::new::(Some(&mut vec![collection, filter])), [INFO] [stdout] 4160 ~ alias: alias.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub unsafe extern "C" fn rust_lookup(name: *const c_char) -> *mut c_void { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:748:46 [INFO] [stdout] | [INFO] [stdout] 747 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 748 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub unsafe extern "C" fn clone_ref(v: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | pub unsafe extern "C" fn drop_ref(v: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | pub unsafe extern "C" fn get_len(v: FFIGCRef) -> c_longlong { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `new_frame` doesn't need a mutable reference [INFO] [stdout] --> src/executor/vm_instructions.rs:919:20 [INFO] [stdout] | [INFO] [stdout] 919 | .new_frame(&mut vm.stack, ContextFrameType::NormalFrame, 0, false); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 919 - .new_frame(&mut vm.stack, ContextFrameType::NormalFrame, 0, false); [INFO] [stdout] 919 + .new_frame(&vm.stack, ContextFrameType::NormalFrame, 0, false); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub unsafe extern "C" fn new_vm_int64(v: c_longlong, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub unsafe extern "C" fn new_vm_float64(v: c_double, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `new_frame` doesn't need a mutable reference [INFO] [stdout] --> src/executor/vm_instructions.rs:936:20 [INFO] [stdout] | [INFO] [stdout] 936 | .new_frame(&mut vm.stack, ContextFrameType::BoundaryFrame, 0, false); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 936 - .new_frame(&mut vm.stack, ContextFrameType::BoundaryFrame, 0, false); [INFO] [stdout] 936 + .new_frame(&vm.stack, ContextFrameType::BoundaryFrame, 0, false); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | pub unsafe extern "C" fn new_vm_string(s: *const c_char, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub unsafe extern "C" fn new_vm_boolean(b: c_int, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | pub unsafe extern "C" fn new_vm_null(gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | / pub unsafe extern "C" fn new_vm_bytes( [INFO] [stdout] 223 | | data: *const u8, [INFO] [stdout] 224 | | len: c_int, [INFO] [stdout] 225 | | gc_system: *mut c_void, [INFO] [stdout] 226 | | ) -> FFIGCRef { unsafe { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | pub unsafe extern "C" fn new_vm_tuple(gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | / pub unsafe extern "C" fn new_vm_keyval( [INFO] [stdout] 243 | | key: FFIGCRef, [INFO] [stdout] 244 | | value: FFIGCRef, [INFO] [stdout] 245 | | gc_system: *mut c_void, [INFO] [stdout] 246 | | ) -> FFIGCRef { unsafe { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | / pub unsafe extern "C" fn new_vm_named( [INFO] [stdout] 254 | | key: FFIGCRef, [INFO] [stdout] 255 | | value: FFIGCRef, [INFO] [stdout] 256 | | gc_system: *mut c_void, [INFO] [stdout] 257 | | ) -> FFIGCRef { unsafe { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub unsafe extern "C" fn new_vm_wrapper(value: FFIGCRef, gc_system: *mut c_void) -> FFIGCRef { unsafe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:271:5 [INFO] [stdout] | [INFO] [stdout] 271 | pub unsafe extern "C" fn is_vm_int(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | pub unsafe extern "C" fn is_vm_float(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:287:5 [INFO] [stdout] | [INFO] [stdout] 287 | pub unsafe extern "C" fn is_vm_string(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | pub unsafe extern "C" fn is_vm_boolean(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | pub unsafe extern "C" fn is_vm_null(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:319:5 [INFO] [stdout] | [INFO] [stdout] 319 | pub unsafe extern "C" fn is_vm_bytes(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | pub unsafe extern "C" fn is_vm_tuple(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:335:5 [INFO] [stdout] | [INFO] [stdout] 335 | pub unsafe extern "C" fn is_vm_keyval(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | pub unsafe extern "C" fn is_vm_named(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:355:5 [INFO] [stdout] | [INFO] [stdout] 355 | pub unsafe extern "C" fn is_vm_wrapper(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:368:5 [INFO] [stdout] | [INFO] [stdout] 368 | pub unsafe extern "C" fn get_vm_int_value(obj: FFIGCRef) -> std::ffi::c_longlong { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:380:5 [INFO] [stdout] | [INFO] [stdout] 380 | pub unsafe extern "C" fn get_vm_float_value(obj: FFIGCRef) -> c_double { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | pub unsafe extern "C" fn get_vm_string_value(obj: FFIGCRef) -> *mut c_char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub unsafe extern "C" fn get_vm_boolean_value(obj: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub unsafe extern "C" fn vm_tuple_append(tuple: FFIGCRef, value: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:444:5 [INFO] [stdout] | [INFO] [stdout] 444 | / pub unsafe extern "C" fn vm_tuple_get( [INFO] [stdout] 445 | | tuple: FFIGCRef, [INFO] [stdout] 446 | | index: c_int, [INFO] [stdout] 447 | | gc_system: *mut c_void, [INFO] [stdout] 448 | | ) -> FFIGCRef { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | pub unsafe extern "C" fn get_vm_value(obj: FFIGCRef) -> FFIGCRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:500:5 [INFO] [stdout] | [INFO] [stdout] 500 | pub unsafe extern "C" fn get_vm_key(obj: FFIGCRef) -> FFIGCRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1237:49 [INFO] [stdout] | [INFO] [stdout] 1236 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1237 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1246:49 [INFO] [stdout] | [INFO] [stdout] 1245 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1246 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:521:5 [INFO] [stdout] | [INFO] [stdout] 521 | pub unsafe extern "C" fn set_vm_value(target: FFIGCRef, value: FFIGCRef) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1307:53 [INFO] [stdout] | [INFO] [stdout] 1305 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1306 | arg_tuple.drop_ref(); [INFO] [stdout] 1307 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1336:53 [INFO] [stdout] | [INFO] [stdout] 1334 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1335 | arg_tuple.drop_ref(); [INFO] [stdout] 1336 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:566:5 [INFO] [stdout] | [INFO] [stdout] 566 | pub unsafe fn load_clambda(lib_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:598:5 [INFO] [stdout] | [INFO] [stdout] 598 | pub unsafe fn init_clambda(clambda: &mut CLambda) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:603:5 [INFO] [stdout] | [INFO] [stdout] 603 | pub unsafe fn destroy_clambda(clambda: &mut CLambda) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/executor/ffi.rs:608:5 [INFO] [stdout] | [INFO] [stdout] 608 | / pub unsafe fn call_clambda( [INFO] [stdout] 609 | | clambda: &CLambda, [INFO] [stdout] 610 | | signature: &String, [INFO] [stdout] 611 | | gc_ref: &mut GCRef, [INFO] [stdout] 612 | | gc_system: &mut GCSystem, [INFO] [stdout] 613 | | ) -> Result { unsafe { [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1376:49 [INFO] [stdout] | [INFO] [stdout] 1375 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1376 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1385:49 [INFO] [stdout] | [INFO] [stdout] 1384 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1385 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1427:61 [INFO] [stdout] | [INFO] [stdout] 1426 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1427 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `file` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1606:13 [INFO] [stdout] | [INFO] [stdout] 1602 | if file.is_err() { [INFO] [stdout] | ---------------- help: try: `if let Err() = file` [INFO] [stdout] ... [INFO] [stdout] 1606 | file.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1616:13 [INFO] [stdout] | [INFO] [stdout] 1612 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] ... [INFO] [stdout] 1616 | result.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `vm_instruction_package` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1624:13 [INFO] [stdout] | [INFO] [stdout] 1620 | if vm_instruction_package.is_err() { [INFO] [stdout] | ---------------------------------- help: try: `if let Err() = vm_instruction_package` [INFO] [stdout] ... [INFO] [stdout] 1624 | vm_instruction_package.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1871:30 [INFO] [stdout] | [INFO] [stdout] 1868 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1871 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1879:30 [INFO] [stdout] | [INFO] [stdout] 1876 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1879 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1887:30 [INFO] [stdout] | [INFO] [stdout] 1884 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1887 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1895:30 [INFO] [stdout] | [INFO] [stdout] 1892 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1895 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1903:30 [INFO] [stdout] | [INFO] [stdout] 1900 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1903 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `opcode::DecodedOpcode` [INFO] [stdout] --> src/opcode.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / pub fn to_string(&self) -> String { [INFO] [stdout] 88 | | format!( [INFO] [stdout] 89 | | "Instruction: {:?}, Operand1: {}, Operand2: {}, Operand3: {}", [INFO] [stdout] 90 | | VMInstruction::from_opcode(self.instruction), self.operand1, self.operand2, self.operand3 [INFO] [stdout] 91 | | ) [INFO] [stdout] 92 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `opcode::DecodedOpcode` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:748:46 [INFO] [stdout] | [INFO] [stdout] 747 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 748 | return Err(VMError::ContextError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `new_frame` doesn't need a mutable reference [INFO] [stdout] --> src/executor/vm_instructions.rs:919:20 [INFO] [stdout] | [INFO] [stdout] 919 | .new_frame(&mut vm.stack, ContextFrameType::NormalFrame, 0, false); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 919 - .new_frame(&mut vm.stack, ContextFrameType::NormalFrame, 0, false); [INFO] [stdout] 919 + .new_frame(&vm.stack, ContextFrameType::NormalFrame, 0, false); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `new_frame` doesn't need a mutable reference [INFO] [stdout] --> src/executor/vm_instructions.rs:936:20 [INFO] [stdout] | [INFO] [stdout] 936 | .new_frame(&mut vm.stack, ContextFrameType::BoundaryFrame, 0, false); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 936 - .new_frame(&mut vm.stack, ContextFrameType::BoundaryFrame, 0, false); [INFO] [stdout] 936 + .new_frame(&vm.stack, ContextFrameType::BoundaryFrame, 0, false); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `idx` is used to index `cloned` [INFO] [stdout] --> src/ir_translator.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | for idx in 0..cloned.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 56 - for idx in 0..cloned.len() { [INFO] [stdout] 56 + for (idx, ) in cloned.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1237:49 [INFO] [stdout] | [INFO] [stdout] 1236 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1237 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1246:49 [INFO] [stdout] | [INFO] [stdout] 1245 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1246 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1307:53 [INFO] [stdout] | [INFO] [stdout] 1305 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1306 | arg_tuple.drop_ref(); [INFO] [stdout] 1307 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1336:53 [INFO] [stdout] | [INFO] [stdout] 1334 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1335 | arg_tuple.drop_ref(); [INFO] [stdout] 1336 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1376:49 [INFO] [stdout] | [INFO] [stdout] 1375 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1376 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1385:49 [INFO] [stdout] | [INFO] [stdout] 1384 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1385 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1427:61 [INFO] [stdout] | [INFO] [stdout] 1426 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 1427 | return Err(VMError::VMVariableError(result.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `file` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1606:13 [INFO] [stdout] | [INFO] [stdout] 1602 | if file.is_err() { [INFO] [stdout] | ---------------- help: try: `if let Err() = file` [INFO] [stdout] ... [INFO] [stdout] 1606 | file.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1616:13 [INFO] [stdout] | [INFO] [stdout] 1612 | if result.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] ... [INFO] [stdout] 1616 | result.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `vm_instruction_package` after checking its variant with `is_err` [INFO] [stdout] --> src/executor/vm_instructions.rs:1624:13 [INFO] [stdout] | [INFO] [stdout] 1620 | if vm_instruction_package.is_err() { [INFO] [stdout] | ---------------------------------- help: try: `if let Err() = vm_instruction_package` [INFO] [stdout] ... [INFO] [stdout] 1624 | vm_instruction_package.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1871:30 [INFO] [stdout] | [INFO] [stdout] 1868 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1871 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1879:30 [INFO] [stdout] | [INFO] [stdout] 1876 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1879 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1887:30 [INFO] [stdout] | [INFO] [stdout] 1884 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1887 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1895:30 [INFO] [stdout] | [INFO] [stdout] 1892 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1895 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_none` [INFO] [stdout] --> src/executor/vm_instructions.rs:1903:30 [INFO] [stdout] | [INFO] [stdout] 1900 | if result.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] ... [INFO] [stdout] 1903 | vm.push_vmobject(result.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `opcode::DecodedOpcode` [INFO] [stdout] --> src/opcode.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / pub fn to_string(&self) -> String { [INFO] [stdout] 88 | | format!( [INFO] [stdout] 89 | | "Instruction: {:?}, Operand1: {}, Operand2: {}, Operand3: {}", [INFO] [stdout] 90 | | VMInstruction::from_opcode(self.instruction), self.operand1, self.operand2, self.operand3 [INFO] [stdout] 91 | | ) [INFO] [stdout] 92 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `opcode::DecodedOpcode` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `idx` is used to index `cloned` [INFO] [stdout] --> src/ir_translator.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | for idx in 0..cloned.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 56 - for idx in 0..cloned.len() { [INFO] [stdout] 56 + for (idx, ) in cloned.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.90s [INFO] running `Command { std: "docker" "inspect" "2a67b8c647ec746ac2d6ca02cedd3594d36b9023981686160ab94aedd2316c5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a67b8c647ec746ac2d6ca02cedd3594d36b9023981686160ab94aedd2316c5e", kill_on_drop: false }` [INFO] [stdout] 2a67b8c647ec746ac2d6ca02cedd3594d36b9023981686160ab94aedd2316c5e