[INFO] cloning repository https://github.com/JoshuaRadin37/jodin-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JoshuaRadin37/jodin-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaRadin37%2Fjodin-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaRadin37%2Fjodin-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7aebe26b80b92b8427208e9527a5ad96c73506d5 [INFO] building JoshuaRadin37/jodin-rs against try#8b8eff55bd72abbb57167bc42222a7f91d41cb0d for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaRadin37%2Fjodin-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/JoshuaRadin37/jodin-rs on toolchain 8b8eff55bd72abbb57167bc42222a7f91d41cb0d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/JoshuaRadin37/jodin-rs [INFO] finished tweaking git repo https://github.com/JoshuaRadin37/jodin-rs [INFO] tweaked toml for git repo https://github.com/JoshuaRadin37/jodin-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/JoshuaRadin37/jodin-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fbb09c442334952424315300569c85771b666980da0bccecbf8285bdc2b24ea6 [INFO] running `Command { std: "docker" "start" "-a" "fbb09c442334952424315300569c85771b666980da0bccecbf8285bdc2b24ea6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fbb09c442334952424315300569c85771b666980da0bccecbf8285bdc2b24ea6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fbb09c442334952424315300569c85771b666980da0bccecbf8285bdc2b24ea6", kill_on_drop: false }` [INFO] [stdout] fbb09c442334952424315300569c85771b666980da0bccecbf8285bdc2b24ea6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4f114885824a0cf6602b2fd21c0af74ead31fd52f7289f2377c997ae911c9939 [INFO] running `Command { std: "docker" "start" "-a" "4f114885824a0cf6602b2fd21c0af74ead31fd52f7289f2377c997ae911c9939", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.119 [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling smallvec v1.8.0 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling lock_api v0.4.6 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling siphasher v0.3.9 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling new_debug_unreachable v1.0.4 [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling getrandom v0.2.5 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling quote v1.0.15 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling bit-set v0.5.2 [INFO] [stderr] Compiling itertools v0.10.3 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling string_cache v0.8.3 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling ena v0.14.0 [INFO] [stderr] Compiling diff v0.1.12 [INFO] [stderr] Compiling rustversion v1.0.6 [INFO] [stderr] Compiling pico-args v0.4.2 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling time v0.1.43 [INFO] [stderr] Compiling unicode-segmentation v1.9.0 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling utf8-ranges v1.0.4 [INFO] [stderr] Compiling anyhow v1.0.55 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling lalrpop-util v0.19.7 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling beef v0.5.1 [INFO] [stderr] Compiling lalrpop v0.19.7 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling ryu v1.0.9 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling itoa v1.0.1 [INFO] [stderr] Compiling paris v1.5.11 [INFO] [stderr] Compiling simplelog v0.11.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling more_collection_macros v0.2.2 [INFO] [stderr] Compiling bytemuck v1.7.3 [INFO] [stderr] Compiling bitfield v0.13.2 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling pathdiff v0.2.1 [INFO] [stderr] Compiling strum v0.23.0 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling libloading v0.7.3 [INFO] [stderr] Compiling num-complex v0.4.0 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling jodin-benchmarks v0.1.0 (/opt/rustwide/workdir/jodin-benchmarks) [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling logos-derive v0.12.0 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling strum_macros v0.23.1 [INFO] [stderr] Compiling num v0.4.0 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling logos v0.12.0 [INFO] [stderr] Compiling jodin-common v0.1.0 (/opt/rustwide/workdir/jodin-common) [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodin-common/src/lib.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodin-common/src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JodinError` [INFO] [stdout] --> jodin-common/src/assembly/value.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::error::{JodinError, JodinResult}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> jodin-common/src/assembly/value.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fmt::{write, Display, Formatter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> jodin-common/src/identifier.rs:267:35 [INFO] [stdout] | [INFO] [stdout] 267 | Bound::Included(i) => (*i), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-common/src/lib.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | unused_parens, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 267 - Bound::Included(i) => (*i), [INFO] [stdout] 267 + Bound::Included(i) => *i, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> jodin-common/src/identifier.rs:272:35 [INFO] [stdout] | [INFO] [stdout] 272 | Bound::Included(i) => (*i), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 272 - Bound::Included(i) => (*i), [INFO] [stdout] 272 + Bound::Included(i) => *i, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodin-common/src/unit.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `release` [INFO] [stdout] --> jodin-common/src/lib.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | } else if cfg!(release) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(release)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(release)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> jodin-common/src/identifier.rs:61:35 [INFO] [stdout] | [INFO] [stdout] 61 | Self::from_iter(IntoIter::new(array)) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> jodin-common/src/utility.rs:167:22 [INFO] [stdout] | [INFO] [stdout] 167 | .find(|&(pos, &b)| b == b'\n') [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodin-common/src/utility.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut split = self.buffer.split(|&s| s == b'\n'); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub mod asm_macros; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-common/src/lib.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub mod error; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod location; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub mod value; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub mod prelude { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub name: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:277:1 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn temp_label(lbl: impl AsRef) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn id_label(id: &Identifier, lbl: impl AsRef) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | pub trait InsertAsmHelper { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | fn len(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 308 | fn insert_asm(&mut self, asm: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | fn insert_asm_front(&mut self, asm: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | fn insert_asm_at_position(&mut self, index: usize, asm: T) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | SingleInstruction(Asm), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | Block(AssemblyBlock), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:449:1 [INFO] [stdout] | [INFO] [stdout] 449 | pub struct SeperatedAsm [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn new(before: A1, after: A2) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | pub fn before_only(before: A) -> SeperatedAsm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:518:21 [INFO] [stdout] | [INFO] [stdout] 518 | for byte in encoded { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 518 - for byte in encoded { [INFO] [stdout] 518 + while let Some(byte) = encoded { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 518 - for byte in encoded { [INFO] [stdout] 518 + if let Some(byte) = encoded { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a macro [INFO] [stdout] --> jodin-common/src/assembly/asm_macros.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | macro_rules! block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/error.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum BytecodeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | InvalidLocationFromValue(Value), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | VariableNotSet(usize), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Other(#[from] Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | Label(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Nop, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Halt, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | BooleanAnd, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | BooleanOr, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | BooleanNot, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | BooleanXor, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn label>(lbl: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn pub_label>(lbl: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | / pub fn push(value: V) -> Self [INFO] [stdout] 133 | | where [INFO] [stdout] 134 | | Value: From, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn goto(lbl: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn cond_goto(lbl: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn native_method, I: Into>>(native: S, args: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / pub fn get_attribute(attribute_name: S) -> Self [INFO] [stdout] 152 | | where [INFO] [stdout] 153 | | S: AsRef, [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a type alias [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:159:1 [INFO] [stdout] | [INFO] [stdout] 159 | pub type Assembly = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a type alias [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | pub type Bytecode = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait Encode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | fn encode(self) -> Bytecode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:172:1 [INFO] [stdout] | [INFO] [stdout] 172 | pub trait Decode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | fn decode(self) -> Assembly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:182:1 [INFO] [stdout] | [INFO] [stdout] 182 | pub trait GetAsm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | fn get_asm(&self) -> Assembly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | fn get_bytecode(&self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/location.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AsmLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ByteIndex(usize), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | InstructionDiff(isize), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Label(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/value.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Value { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | Byte(u8), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Integer(i64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | UInteger(u64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Dictionary(HashMap), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Array(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Reference(JRef), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Bytecode(Bytecode), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Function(AsmLocation), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/assembly/value.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct JRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(v: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn into_string(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn new>(v: V) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn new_dict() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn location(label: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn into_reference(self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn is_null_ptr(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn try_hash(&self, hasher: &mut H) -> JodinResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-common/src/core/operator.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_precedence(&self) -> Precedence { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_precedence(&self) -> Precedence<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a static [INFO] [stdout] --> jodin-common/src/core/function_names.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub static CALL: &str = "@call"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a static [INFO] [stdout] --> jodin-common/src/core/function_names.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub static RECEIVE_MESSAGE: &str = "@receive"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | pub fn abbreviate_identifier(id: Identifier, max_size: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:621:1 [INFO] [stdout] | [INFO] [stdout] 621 | pub struct IdentifierChain { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:627:5 [INFO] [stdout] | [INFO] [stdout] 627 | pub fn new>(id: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | pub fn with_child>(mut self, id: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:639:5 [INFO] [stdout] | [INFO] [stdout] 639 | pub fn add_child>(&mut self, id: I) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:662:5 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-common/src/identifier.rs:662:17 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator { [INFO] [stdout] | ^^^^^ ----------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:683:1 [INFO] [stdout] | [INFO] [stdout] 683 | pub struct IdentifierChainIterator<'i> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-common/src/identifier.rs:697:17 [INFO] [stdout] | [INFO] [stdout] 697 | std::mem::replace(dest, next); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 697 | let _ = std::mem::replace(dest, next); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:704:1 [INFO] [stdout] | [INFO] [stdout] 704 | pub struct IdentifierDiffIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:712:5 [INFO] [stdout] | [INFO] [stdout] 712 | pub fn new(left: Identifier, right: Identifier, diff_start: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:369:1 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn parse_type>(expr: S) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:374:1 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn parse_program>(expr: S) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/types/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub mod base_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | pub trait AsIntermediate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | fn intermediate_type(&self) -> IntermediateType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Pointer(Pointer), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | JTrait(JTrait), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | JObject(JObject), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn fields(&self) -> Vec<&Field> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:184:1 [INFO] [stdout] | [INFO] [stdout] 184 | pub trait Member: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | fn jtype(&self) -> &T; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | fn id(&self) -> &Identifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:229:1 [INFO] [stdout] | [INFO] [stdout] 229 | pub trait GetResolvedMember [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | pub fn upgrade(&self) -> JodinResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static` which comes from the expansion of the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static` which comes from the expansion of the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/functions.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | name: Identifier, [INFO] [stdout] 26 | | generics: Vec, [INFO] [stdout] 27 | | parameters: Vec, [INFO] [stdout] 28 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn as_bound(&self, jtype: &JodinType) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait Morph<'t> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | type Morphed: Type<'t>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | / fn apply_generics(&self, generics: I) -> Self::Morphed [INFO] [stdout] 113 | | where [INFO] [stdout] 114 | | I: IntoIterator; [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn identifier(&self) -> Option<&Identifier> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn set_resolved_identifier(&mut self, _id: Identifier) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | write!(&mut output, "const "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | write!(&mut output, "{}", self.type_specifier); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | / write!( [INFO] [stdout] 304 | | &mut output, [INFO] [stdout] 305 | | "<{}>", [INFO] [stdout] 306 | | Itertools::intersperse( [INFO] [stdout] ... | [INFO] [stdout] 310 | | .collect::() [INFO] [stdout] 311 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/pointer.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | fn build_resolved_type(&self, builder: &mut ResolvedTypeBuilder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct ResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct ResolvedTypeBuilder<'types> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn new(env: &'t TypeEnvironment) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn set_base_type(&mut self, ty: &Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn add_parent_type<'types, T: Type<'types>>(&mut self, parent: &'types T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn build(self) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn env(&self) -> &'t TypeEnvironment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:172:1 [INFO] [stdout] | [INFO] [stdout] 172 | pub struct JTraitObjectWithDistance<'t> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn new(object: &'t JTraitObject, distance: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/types/traits.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub entries: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/traits.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct JTraitObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct TypeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(jtype: JodinType, decl_node: Option<&JodinNode>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | output.add(prim, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 72 | let _ = output.add(prim, None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn base_type(&self) -> &JodinType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn get_type_by_name(&self, name: &Identifier) -> JodinResult<&Arc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn is_child_type(&self, _child: &Identifier, _parent: &Identifier) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | / pub fn set_variable_type>( [INFO] [stdout] 167 | | &mut self, [INFO] [stdout] 168 | | var: I, [INFO] [stdout] 169 | | jty: T, [INFO] [stdout] 170 | | ) -> JodinResult<()> { [INFO] [stdout] | |________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn variable_type>(&self, id: I) -> JodinResult<&IntermediateType> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn resolve_type(&self, ty: &R) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:200:1 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct TypeEnvironmentManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn resolve_type(&self, ty: &R) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/unit.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn new(s: &'s str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/unit.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn join_translation_units, I: IntoIterator>(iterator: I) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/unit.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub file_location: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/unit.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / pub fn new( [INFO] [stdout] 151 | | file_location: PathBuf, [INFO] [stdout] 152 | | module: Identifier, [INFO] [stdout] 153 | | units: Vec, [INFO] [stdout] 154 | | jasm: Assembly, [INFO] [stdout] 155 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn merge(self, other: Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn merge_from(&mut self, other: Self) -> Result<(), JodinError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/unit.rs:346:1 [INFO] [stdout] | [INFO] [stdout] 346 | pub trait Incremental { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | fn translation_units(&self) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | fn representative_path(&self) -> PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/utility.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn node_count(tree: &impl Tree) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | pub trait Visitor<'t, Visited, Output> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | fn visit(&'t self, environment: &'t Visited) -> Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/utility.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | fn accept(&'a self, visitor: Visitor) -> Self::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait AcceptorMut<'a, Visitor>: Acceptor<'a, Visitor> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/utility.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | type MutOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | fn accept_mut(&'a mut self, visitor: Visitor) -> Self::MutOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:114:1 [INFO] [stdout] | [INFO] [stdout] 114 | pub trait Flatten { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/utility.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | fn flatten(this: Self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/utility.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn usum usize>(from: usize, to: usize, f: F) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/utility.rs:132:1 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct LoggedWrite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/utility.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn new(log_level: log::Level, writer: W, prefix: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-vm-plugins v0.1.0 (/opt/rustwide/workdir/jodin-vm-plugins) [INFO] [stderr] Compiling jasm-macros v0.1.0 (/opt/rustwide/workdir/jasm-macros) [INFO] [stdout] warning: unused import: `jodin_common::assembly::value::Value` [INFO] [stdout] --> jodin-vm-plugins/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use jodin_common::assembly::value::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry` [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::hash_map::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ffi::{CStr, OsStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::plugins::VMHandle` [INFO] [stdout] --> jodin-vm-plugins/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::plugins::VMHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:143:53 [INFO] [stdout] | [INFO] [stdout] 143 | .map_err(|s| PluginError::FunctionError(unsafe { s })) [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-vm-kernel v0.1.0 (/opt/rustwide/workdir/jodin-vm-kernel) [INFO] [stdout] warning: unused import: `std::ffi::CStr` [INFO] [stdout] --> jodin-vm-kernel/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-rs-vm v0.1.0 (/opt/rustwide/workdir/jodin-rs-vm) [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `ArithmeticsTrait` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `MemoryTrait` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `VirtualMachine` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildHasher` and `SipHasher` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::hash::{BuildHasher, Hash, Hasher, SipHasher}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use std::hash::{BuildHasher, Hash, Hasher, SipHasher}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | use std::ops::{Add, Deref}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `global_scope_id` is never read [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct VMMemory { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 115 | mem_nodes: HashMap, [INFO] [stdout] 116 | global_scope_id: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VMMemory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `used_var_ids` is never used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 56 | impl MemNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 57 | pub fn used_var_ids(self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ret_id` is never used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 77 | impl VarIdPool { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn ret_id(&mut self, id: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-rs-vm/src/mvp.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 71 | let _ = std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 346 | let _ = std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:258:14 [INFO] [stdout] | [INFO] [stdout] 258 | fn stack(&self) -> VMStack { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 258 | fn stack(&self) -> VMStack<'_, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:259:31 [INFO] [stdout] | [INFO] [stdout] 259 | unsafe { VMStack::new(&mut *(&self.memory as *const M as *mut M)) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:769:13 [INFO] [stdout] | [INFO] [stdout] 769 | self.run_from_index(static_instruction_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 769 | let _ = self.run_from_index(static_instruction_index); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:1000:26 [INFO] [stdout] | [INFO] [stdout] 1000 | vm: unsafe { &mut *(vm as *const _ as *mut _) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodinc v0.1.0 (/opt/rustwide/workdir/jodinc) [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodinc/src/lib.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodinc/src/lib.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> jodinc/src/lib.rs:56:1 [INFO] [stdout] | [INFO] [stdout] 56 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodinc/src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResolvedIdentityTag` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | use jodin_common::core::tags::{ResolvedIdentityTag, TagTools}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsIntermediate` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:17:27 [INFO] [stdout] | [INFO] [stdout] 17 | use jodin_common::types::{AsIntermediate, StorageModifier, TypeTag}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLock` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::types::resolved_type::ResolvedType` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use jodin_common::types::resolved_type::ResolvedType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rel_label` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:7:41 [INFO] [stdout] | [INFO] [stdout] 7 | use jodin_common::assembly::asm_block::{rel_label, AssemblyBlock, InsertAsm}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cond`, `pop`, and `return_` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | use jasm_macros::{cond, if_, pop, return_, scope, value, var, while_}; [INFO] [stdout] | ^^^^ ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::core::operator::Operator` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use jodin_common::core::operator::Operator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufReader` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use std::io::BufReader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `native` [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use jasm_macros::{call, jasm, label, native, push, return_}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `block` [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use jodin_common::{block, init_logging}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KERNEL` is never used [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | const KERNEL: &str = "target/debug/jodin_vm_kernel.dll"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Compilable` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:29:33 [INFO] [stdout] | [INFO] [stdout] 29 | use jodin_common::compilation::{Compilable, Compiler}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | let mut file = OpenOptions::new() [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `writer_override` is never read [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct JodinVMCompiler<'c> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 45 | originating_file_path: Option, [INFO] [stdout] 46 | writer_override: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/function_compiler.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl FunctionCompiler { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 33 | pub fn new(tracker: VariableUseTracker) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl StatementCompiler { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 35 | pub fn new(tracker: VariableUseTracker) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `object_path` and `output_directory` are never read [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct IncrementalCompiler { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 41 | object_path: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 42 | output_directory: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> jodinc/src/error_reporting.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct FileStructure { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 11 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileStructure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent_structure` and `line_range` are never read [INFO] [stdout] --> jodinc/src/error_reporting.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct FilePart<'a> { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 62 | parent_structure: &'a FileStructure, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | line_range: LineRange, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DependencyTool` is never constructed [INFO] [stdout] --> jodinc/src/passes/analysis/dependency_tool.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DependencyTool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `major_namespace` and `id_within_major_namespace` are never used [INFO] [stdout] --> jodinc/src/passes/analysis/dependency_tool.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl DependencyTool { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 10 | fn major_namespace(&self) -> Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn id_within_major_namespace(&self, _id: &Identifier) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NoMangle` is never constructed [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct NoMangle; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoMangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `semi_push_namespace` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl IdentifierCreator { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn semi_push_namespace( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_first_tag` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn find_first_tag(node: &JodinNode) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AdvTypeResolutionTarget` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/type_resolution_tool.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | enum AdvTypeResolutionTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `settings` is never read [INFO] [stdout] --> jodinc/src/passes/frontend.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FilesToJodinNodeTool<'a> { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 12 | settings: &'a CompilationSettings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_constant_expressions` is never used [INFO] [stdout] --> jodinc/src/passes/optimization/constant_expressions.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn find_constant_expressions(_node_tree: &JodinNode) -> JodinResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replace_constant_expressions` is never used [INFO] [stdout] --> jodinc/src/passes/optimization/constant_expressions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn replace_constant_expressions(mut input: JodinNode) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 238 | target: impl AsRef, [INFO] [stdout] 239 | ) -> TranslationObjectCompiler { [INFO] [stdout] | ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 239 | ) -> TranslationObjectCompiler<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | std::fs::create_dir_all(&buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 327 | let _ = std::fs::create_dir_all(&buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:418:30 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn split_by_module(tree: &JodinNode) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 418 | pub fn split_by_module(tree: &JodinNode) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | write!(f, "#{}#", self.identifier); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | / tool.visibility [INFO] [stdout] 38 | | .insert_with_identifier(Visibility::Public, Identifier::from(NATIVE_OBJECT)); [INFO] [stdout] | |________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = tool.visibility [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | output.visibility.insert_with_identifier(vis, id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 49 | let _ = output.visibility.insert_with_identifier(vis, id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:220:21 [INFO] [stdout] | [INFO] [stdout] 220 | name.add_tag(vis); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 220 | let _ = name.add_tag(vis); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | resolver.use_namespace(original_current.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = resolver.use_namespace(original_current.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `IdentifierResolver::use_namespace` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | resolver.use_namespace(original_current.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = resolver.use_namespace(original_current.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:369:13 [INFO] [stdout] | [INFO] [stdout] 369 | resolver.stop_use_namespace(&original_current); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 369 | let _ = resolver.stop_use_namespace(&original_current); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:617:13 [INFO] [stdout] | [INFO] [stdout] 617 | tree.add_tag(tag); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 617 | let _ = tree.add_tag(tag); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-tests v0.1.0 (/opt/rustwide/workdir/jodin-tests) [INFO] [stderr] Compiling jodin-tests-common v0.1.0 (/opt/rustwide/workdir/jodin-tests-common) [INFO] [stdout] warning: unused import: `jodin_rs_vm::error::VMError` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use jodin_rs_vm::error::VMError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VM` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:6:34 [INFO] [stdout] | [INFO] [stdout] 6 | use jodin_rs_vm::vm::{VMBuilder, VM}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | mut input, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JodinErrorType`, `JodinError`, and `JodinResult` [INFO] [stdout] --> jodinc/src/main.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use jodin_common::error::{JodinError, JodinErrorType, JodinResult}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodinc::passes::frontend::FilesToJodinNodeTool` [INFO] [stdout] --> jodinc/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use jodinc::passes::frontend::FilesToJodinNodeTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodinc::process_jodin_node` [INFO] [stdout] --> jodinc/src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use jodinc::process_jodin_node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodinc/src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> jodinc/src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::exit` [INFO] [stdout] --> jodinc/src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::process::exit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 50s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.7 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "4f114885824a0cf6602b2fd21c0af74ead31fd52f7289f2377c997ae911c9939", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f114885824a0cf6602b2fd21c0af74ead31fd52f7289f2377c997ae911c9939", kill_on_drop: false }` [INFO] [stdout] 4f114885824a0cf6602b2fd21c0af74ead31fd52f7289f2377c997ae911c9939 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 86319f5676ad598340e7deab9a31607986f27862a5e9c35cfb45df444b831f1d [INFO] running `Command { std: "docker" "start" "-a" "86319f5676ad598340e7deab9a31607986f27862a5e9c35cfb45df444b831f1d", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling lock_api v0.4.6 [INFO] [stderr] Compiling semver v1.0.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.7 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling crossbeam-epoch v0.9.7 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling plotters-backend v0.3.2 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling plotters-svg v0.3.1 [INFO] [stderr] Compiling bstr v0.2.17 [INFO] [stderr] Compiling itoa v0.4.8 [INFO] [stderr] Compiling serde_cbor v0.11.2 [INFO] [stderr] Compiling string_cache v0.8.3 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.2 [INFO] [stderr] Compiling plotters v0.3.1 [INFO] [stderr] Compiling lalrpop v0.19.7 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling criterion-plot v0.4.4 [INFO] [stderr] Compiling csv v1.1.6 [INFO] [stderr] Compiling oorandom v11.1.3 [INFO] [stderr] Compiling criterion v0.3.5 [INFO] [stderr] Compiling jodin-common v0.1.0 (/opt/rustwide/workdir/jodin-common) [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodin-common/src/lib.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodin-common/src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JodinError` [INFO] [stdout] --> jodin-common/src/assembly/value.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::error::{JodinError, JodinResult}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> jodin-common/src/assembly/value.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fmt::{write, Display, Formatter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:108:11 [INFO] [stdout] | [INFO] [stdout] 108 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:112:11 [INFO] [stdout] | [INFO] [stdout] 112 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> jodin-common/src/identifier.rs:267:35 [INFO] [stdout] | [INFO] [stdout] 267 | Bound::Included(i) => (*i), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-common/src/lib.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | unused_parens, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 267 - Bound::Included(i) => (*i), [INFO] [stdout] 267 + Bound::Included(i) => *i, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> jodin-common/src/identifier.rs:272:35 [INFO] [stdout] | [INFO] [stdout] 272 | Bound::Included(i) => (*i), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 272 - Bound::Included(i) => (*i), [INFO] [stdout] 272 + Bound::Included(i) => *i, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodin-common/src/unit.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `release` [INFO] [stdout] --> jodin-common/src/lib.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | } else if cfg!(release) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(release)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(release)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodin-common/src/lib.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodin-common/src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JodinError` [INFO] [stdout] --> jodin-common/src/assembly/value.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::error::{JodinError, JodinResult}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> jodin-common/src/assembly/value.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fmt::{write, Display, Formatter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pest_parser` [INFO] [stdout] --> jodin-common/src/core/import.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | #[cfg(feature = "pest_parser")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `strict` [INFO] [stdout] = help: consider adding `pest_parser` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> jodin-common/src/identifier.rs:267:35 [INFO] [stdout] | [INFO] [stdout] 267 | Bound::Included(i) => (*i), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-common/src/lib.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | unused_parens, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 267 - Bound::Included(i) => (*i), [INFO] [stdout] 267 + Bound::Included(i) => *i, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> jodin-common/src/identifier.rs:272:35 [INFO] [stdout] | [INFO] [stdout] 272 | Bound::Included(i) => (*i), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 272 - Bound::Included(i) => (*i), [INFO] [stdout] 272 + Bound::Included(i) => *i, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodin-common/src/unit.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `release` [INFO] [stdout] --> jodin-common/src/lib.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | } else if cfg!(release) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(release)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(release)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> jodin-common/src/identifier.rs:61:35 [INFO] [stdout] | [INFO] [stdout] 61 | Self::from_iter(IntoIter::new(array)) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> jodin-common/src/identifier.rs:61:35 [INFO] [stdout] | [INFO] [stdout] 61 | Self::from_iter(IntoIter::new(array)) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> jodin-common/src/utility.rs:167:22 [INFO] [stdout] | [INFO] [stdout] 167 | .find(|&(pos, &b)| b == b'\n') [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodin-common/src/utility.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut split = self.buffer.split(|&s| s == b'\n'); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub mod asm_macros; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-common/src/lib.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub mod error; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod location; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub mod value; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub mod prelude { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub name: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:277:1 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn temp_label(lbl: impl AsRef) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn id_label(id: &Identifier, lbl: impl AsRef) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | pub trait InsertAsmHelper { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | fn len(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 308 | fn insert_asm(&mut self, asm: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | fn insert_asm_front(&mut self, asm: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | fn insert_asm_at_position(&mut self, index: usize, asm: T) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | SingleInstruction(Asm), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | Block(AssemblyBlock), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:449:1 [INFO] [stdout] | [INFO] [stdout] 449 | pub struct SeperatedAsm [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn new(before: A1, after: A2) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | pub fn before_only(before: A) -> SeperatedAsm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:518:21 [INFO] [stdout] | [INFO] [stdout] 518 | for byte in encoded { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 518 - for byte in encoded { [INFO] [stdout] 518 + while let Some(byte) = encoded { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 518 - for byte in encoded { [INFO] [stdout] 518 + if let Some(byte) = encoded { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a macro [INFO] [stdout] --> jodin-common/src/assembly/asm_macros.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | macro_rules! block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/error.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum BytecodeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | InvalidLocationFromValue(Value), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | VariableNotSet(usize), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Other(#[from] Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | Label(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Nop, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Halt, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | BooleanAnd, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | BooleanOr, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | BooleanNot, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | BooleanXor, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn label>(lbl: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn pub_label>(lbl: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | / pub fn push(value: V) -> Self [INFO] [stdout] 133 | | where [INFO] [stdout] 134 | | Value: From, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn goto(lbl: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn cond_goto(lbl: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn native_method, I: Into>>(native: S, args: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / pub fn get_attribute(attribute_name: S) -> Self [INFO] [stdout] 152 | | where [INFO] [stdout] 153 | | S: AsRef, [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a type alias [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:159:1 [INFO] [stdout] | [INFO] [stdout] 159 | pub type Assembly = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a type alias [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | pub type Bytecode = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait Encode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | fn encode(self) -> Bytecode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:172:1 [INFO] [stdout] | [INFO] [stdout] 172 | pub trait Decode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | fn decode(self) -> Assembly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:182:1 [INFO] [stdout] | [INFO] [stdout] 182 | pub trait GetAsm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | fn get_asm(&self) -> Assembly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | fn get_bytecode(&self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/location.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AsmLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ByteIndex(usize), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | InstructionDiff(isize), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Label(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/value.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Value { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | Byte(u8), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Integer(i64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | UInteger(u64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Dictionary(HashMap), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Array(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Reference(JRef), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Bytecode(Bytecode), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Function(AsmLocation), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/assembly/value.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct JRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(v: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn into_string(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn new>(v: V) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn new_dict() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn location(label: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn into_reference(self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn is_null_ptr(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn try_hash(&self, hasher: &mut H) -> JodinResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/ast/jodin_node.rs:645:9 [INFO] [stdout] | [INFO] [stdout] 645 | node.add_tag(DummyTag); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 645 | let _ = node.add_tag(DummyTag); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/ast/jodin_node.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 646 | node.add_tag(BlockIdentifierTag::new(5)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 646 | let _ = node.add_tag(BlockIdentifierTag::new(5)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/ast/jodin_node.rs:647:9 [INFO] [stdout] | [INFO] [stdout] 647 | node.add_tag(DummyTag); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 647 | let _ = node.add_tag(DummyTag); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/core/identifier_resolution.rs:867:9 [INFO] [stdout] | [INFO] [stdout] 867 | register.insert_with_identifier(3, Identifier::from("best value")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 867 | let _ = register.insert_with_identifier(3, Identifier::from("best value")); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/core/identifier_resolution.rs:881:9 [INFO] [stdout] | [INFO] [stdout] 881 | / registry.insert_with_identifier( [INFO] [stdout] 882 | | Visibility::Public, [INFO] [stdout] 883 | | Identifier::from_iter(["{base}", "namespace", "v1"]), [INFO] [stdout] 884 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 881 | let _ = registry.insert_with_identifier( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/core/identifier_resolution.rs:885:9 [INFO] [stdout] | [INFO] [stdout] 885 | / registry.insert_with_identifier( [INFO] [stdout] 886 | | Visibility::Protected, [INFO] [stdout] 887 | | Identifier::from_iter(["{base}", "namespace", "v2"]), [INFO] [stdout] 888 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 885 | let _ = registry.insert_with_identifier( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/core/identifier_resolution.rs:889:9 [INFO] [stdout] | [INFO] [stdout] 889 | registry.insert_with_identifier(Visibility::Public, id!("{base}")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 889 | let _ = registry.insert_with_identifier(Visibility::Public, id!("{base}")); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/core/identifier_resolution.rs:890:9 [INFO] [stdout] | [INFO] [stdout] 890 | registry.insert_with_identifier(Visibility::Public, id!("{base}", "namespace")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 890 | let _ = registry.insert_with_identifier(Visibility::Public, id!("{base}", "namespace")); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-common/src/core/operator.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_precedence(&self) -> Precedence { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_precedence(&self) -> Precedence<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a static [INFO] [stdout] --> jodin-common/src/core/function_names.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub static CALL: &str = "@call"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a static [INFO] [stdout] --> jodin-common/src/core/function_names.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub static RECEIVE_MESSAGE: &str = "@receive"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | pub fn abbreviate_identifier(id: Identifier, max_size: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:621:1 [INFO] [stdout] | [INFO] [stdout] 621 | pub struct IdentifierChain { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:627:5 [INFO] [stdout] | [INFO] [stdout] 627 | pub fn new>(id: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | pub fn with_child>(mut self, id: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:639:5 [INFO] [stdout] | [INFO] [stdout] 639 | pub fn add_child>(&mut self, id: I) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:662:5 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-common/src/identifier.rs:662:17 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator { [INFO] [stdout] | ^^^^^ ----------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:683:1 [INFO] [stdout] | [INFO] [stdout] 683 | pub struct IdentifierChainIterator<'i> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-common/src/identifier.rs:697:17 [INFO] [stdout] | [INFO] [stdout] 697 | std::mem::replace(dest, next); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 697 | let _ = std::mem::replace(dest, next); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:704:1 [INFO] [stdout] | [INFO] [stdout] 704 | pub struct IdentifierDiffIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:712:5 [INFO] [stdout] | [INFO] [stdout] 712 | pub fn new(left: Identifier, right: Identifier, diff_start: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:369:1 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn parse_type>(expr: S) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:374:1 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn parse_program>(expr: S) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> jodin-common/src/utility.rs:167:22 [INFO] [stdout] | [INFO] [stdout] 167 | .find(|&(pos, &b)| b == b'\n') [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodin-common/src/utility.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut split = self.buffer.split(|&s| s == b'\n'); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:476:9 [INFO] [stdout] | [INFO] [stdout] 476 | parse!(jodin_grammar::ExpressionParser, "1+(2-3)/5==8<9").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 476 | let _ = parse!(jodin_grammar::ExpressionParser, "1+(2-3)/5==8<9").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | parse!(jodin_grammar::StatementParser, "a = 3;").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 482 | let _ = parse!(jodin_grammar::StatementParser, "a = 3;").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:483:9 [INFO] [stdout] | [INFO] [stdout] 483 | parse!(jodin_grammar::StatementParser, "a[0] = 3;").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 483 | let _ = parse!(jodin_grammar::StatementParser, "a[0] = 3;").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 484 | parse!(jodin_grammar::StatementParser, "a.hello[3].beep = 3;").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 484 | let _ = parse!(jodin_grammar::StatementParser, "a.hello[3].beep = 3;").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:485:9 [INFO] [stdout] | [INFO] [stdout] 485 | parse!(jodin_grammar::StatementParser, "if (true) { }").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 485 | let _ = parse!(jodin_grammar::StatementParser, "if (true) { }").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:486:9 [INFO] [stdout] | [INFO] [stdout] 486 | parse!(jodin_grammar::StatementParser, "if (true) { } else { }").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 486 | let _ = parse!(jodin_grammar::StatementParser, "if (true) { } else { }").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | / parse!( [INFO] [stdout] 488 | | jodin_grammar::StatementParser, [INFO] [stdout] 489 | | "if (false) { } else if (true) { }" [INFO] [stdout] 490 | | ) [INFO] [stdout] 491 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 487 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:492:9 [INFO] [stdout] | [INFO] [stdout] 492 | parse!(jodin_grammar::StatementParser, "while (false) { }").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 492 | let _ = parse!(jodin_grammar::StatementParser, "while (false) { }").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | parse!(jodin_grammar::StatementParser, "return true;").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 493 | let _ = parse!(jodin_grammar::StatementParser, "return true;").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:494:9 [INFO] [stdout] | [INFO] [stdout] 494 | parse!(jodin_grammar::StatementParser, "return;").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 494 | let _ = parse!(jodin_grammar::StatementParser, "return;").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:497:9 [INFO] [stdout] | [INFO] [stdout] 497 | parse!(jodin_grammar::StatementParser, "let a: int = 3*2;").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 | let _ = parse!(jodin_grammar::StatementParser, "let a: int = 3*2;").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:498:9 [INFO] [stdout] | [INFO] [stdout] 498 | parse!(jodin_grammar::StatementParser, "let a: fn() -> int;").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 498 | let _ = parse!(jodin_grammar::StatementParser, "let a: fn() -> int;").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:499:9 [INFO] [stdout] | [INFO] [stdout] 499 | parse!(jodin_grammar::StatementParser, "for(;;) { }").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 499 | let _ = parse!(jodin_grammar::StatementParser, "for(;;) { }").unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:500:9 [INFO] [stdout] | [INFO] [stdout] 500 | / parse!( [INFO] [stdout] 501 | | jodin_grammar::StatementParser, [INFO] [stdout] 502 | | "for(let i: int = 0; i < 2; ++i) { }" [INFO] [stdout] 503 | | ) [INFO] [stdout] 504 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 500 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:524:9 [INFO] [stdout] | [INFO] [stdout] 524 | / parse!( [INFO] [stdout] 525 | | jodin_grammar::FunctionDefinitionParser, [INFO] [stdout] 526 | | r" [INFO] [stdout] 527 | | fn main() { [INFO] [stdout] ... | [INFO] [stdout] 532 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 524 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 533 | / parse!( [INFO] [stdout] 534 | | jodin_grammar::FunctionDefinitionParser, [INFO] [stdout] 535 | | r" [INFO] [stdout] 536 | | fn main(argc: int, argv: [argv]) { [INFO] [stdout] ... | [INFO] [stdout] 541 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 533 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | / parse!( [INFO] [stdout] 543 | | jodin_grammar::FunctionDefinitionParser, [INFO] [stdout] 544 | | r" [INFO] [stdout] 545 | | fn main(argc: int, argv: [argv]) -> int { [INFO] [stdout] ... | [INFO] [stdout] 550 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 542 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | / parse!( [INFO] [stdout] 552 | | jodin_grammar::FunctionDefinitionParser, [INFO] [stdout] 553 | | r" [INFO] [stdout] 554 | | fn fibonacci(n: unsigned int) -> unsigned int { [INFO] [stdout] ... | [INFO] [stdout] 566 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 551 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:589:9 [INFO] [stdout] | [INFO] [stdout] 589 | / parse!( [INFO] [stdout] 590 | | jodin_grammar::StructureDefinitionParser, [INFO] [stdout] 591 | | r" [INFO] [stdout] 592 | | struct Hello { [INFO] [stdout] ... | [INFO] [stdout] 597 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 589 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | / parse!( [INFO] [stdout] 599 | | jodin_grammar::StructureDefinitionParser, [INFO] [stdout] 600 | | r" [INFO] [stdout] 601 | | struct Hello { [INFO] [stdout] ... | [INFO] [stdout] 606 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 598 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:607:9 [INFO] [stdout] | [INFO] [stdout] 607 | / parse!( [INFO] [stdout] 608 | | jodin_grammar::StructureDefinitionParser, [INFO] [stdout] 609 | | r" [INFO] [stdout] 610 | | struct Hello { [INFO] [stdout] ... | [INFO] [stdout] 616 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 607 | let _ = parse!( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/types/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub mod base_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | pub trait AsIntermediate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | fn intermediate_type(&self) -> IntermediateType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Pointer(Pointer), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | JTrait(JTrait), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | JObject(JObject), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn fields(&self) -> Vec<&Field> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:184:1 [INFO] [stdout] | [INFO] [stdout] 184 | pub trait Member: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | fn jtype(&self) -> &T; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | fn id(&self) -> &Identifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:229:1 [INFO] [stdout] | [INFO] [stdout] 229 | pub trait GetResolvedMember [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub mod asm_macros; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-common/src/lib.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub mod error; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod location; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub mod value; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/assembly.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub mod prelude { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub name: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:277:1 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn temp_label(lbl: impl AsRef) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn id_label(id: &Identifier, lbl: impl AsRef) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | pub fn upgrade(&self) -> JodinResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | pub trait InsertAsmHelper { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | fn len(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 308 | fn insert_asm(&mut self, asm: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | fn insert_asm_front(&mut self, asm: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | fn insert_asm_at_position(&mut self, index: usize, asm: T) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | SingleInstruction(Asm), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static` which comes from the expansion of the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | Block(AssemblyBlock), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:449:1 [INFO] [stdout] | [INFO] [stdout] 449 | pub struct SeperatedAsm [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn new(before: A1, after: A2) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static` which comes from the expansion of the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | pub fn before_only(before: A) -> SeperatedAsm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/functions.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | name: Identifier, [INFO] [stdout] 26 | | generics: Vec, [INFO] [stdout] 27 | | parameters: Vec, [INFO] [stdout] 28 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn as_bound(&self, jtype: &JodinType) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait Morph<'t> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | type Morphed: Type<'t>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | / fn apply_generics(&self, generics: I) -> Self::Morphed [INFO] [stdout] 113 | | where [INFO] [stdout] 114 | | I: IntoIterator; [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> jodin-common/src/assembly/asm_block.rs:518:21 [INFO] [stdout] | [INFO] [stdout] 518 | for byte in encoded { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 518 - for byte in encoded { [INFO] [stdout] 518 + while let Some(byte) = encoded { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 518 - for byte in encoded { [INFO] [stdout] 518 + if let Some(byte) = encoded { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn identifier(&self) -> Option<&Identifier> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn set_resolved_identifier(&mut self, _id: Identifier) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a macro [INFO] [stdout] --> jodin-common/src/assembly/asm_macros.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | macro_rules! block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/error.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum BytecodeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | write!(&mut output, "const "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | InvalidLocationFromValue(Value), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | write!(&mut output, "{}", self.type_specifier); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | VariableNotSet(usize), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/error.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Other(#[from] Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | Label(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | / write!( [INFO] [stdout] 304 | | &mut output, [INFO] [stdout] 305 | | "<{}>", [INFO] [stdout] 306 | | Itertools::intersperse( [INFO] [stdout] ... | [INFO] [stdout] 310 | | .collect::() [INFO] [stdout] 311 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Nop, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/pointer.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Halt, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | BooleanAnd, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | BooleanOr, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | BooleanNot, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | BooleanXor, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn label>(lbl: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn pub_label>(lbl: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | / pub fn push(value: V) -> Self [INFO] [stdout] 133 | | where [INFO] [stdout] 134 | | Value: From, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn goto(lbl: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn cond_goto(lbl: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn native_method, I: Into>>(native: S, args: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / pub fn get_attribute(attribute_name: S) -> Self [INFO] [stdout] 152 | | where [INFO] [stdout] 153 | | S: AsRef, [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a type alias [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:159:1 [INFO] [stdout] | [INFO] [stdout] 159 | pub type Assembly = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a type alias [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | pub type Bytecode = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait Encode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | fn encode(self) -> Bytecode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:172:1 [INFO] [stdout] | [INFO] [stdout] 172 | pub trait Decode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | fn decode(self) -> Assembly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:182:1 [INFO] [stdout] | [INFO] [stdout] 182 | pub trait GetAsm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | fn get_asm(&self) -> Assembly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/instructions.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | fn get_bytecode(&self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/location.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AsmLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ByteIndex(usize), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | InstructionDiff(isize), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/location.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Label(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> jodin-common/src/assembly/value.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Value { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | Byte(u8), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Integer(i64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | fn build_resolved_type(&self, builder: &mut ResolvedTypeBuilder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | UInteger(u64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct ResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Dictionary(HashMap), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct ResolvedTypeBuilder<'types> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Array(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn new(env: &'t TypeEnvironment) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Reference(JRef), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn set_base_type(&mut self, ty: &Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Bytecode(Bytecode), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn add_parent_type<'types, T: Type<'types>>(&mut self, parent: &'types T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/assembly/value.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Function(AsmLocation), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn build(self) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/assembly/value.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct JRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn env(&self) -> &'t TypeEnvironment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(v: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn into_string(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:172:1 [INFO] [stdout] | [INFO] [stdout] 172 | pub struct JTraitObjectWithDistance<'t> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn new>(v: V) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn new(object: &'t JTraitObject, distance: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn new_dict() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/types/traits.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub entries: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/assembly/value.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn location(label: impl AsRef) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/traits.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct JTraitObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn into_reference(self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct TypeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn is_null_ptr(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(jtype: JodinType, decl_node: Option<&JodinNode>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/assembly/value.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn try_hash(&self, hasher: &mut H) -> JodinResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | output.add(prim, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 72 | let _ = output.add(prim, None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn base_type(&self) -> &JodinType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn get_type_by_name(&self, name: &Identifier) -> JodinResult<&Arc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn is_child_type(&self, _child: &Identifier, _parent: &Identifier) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | / pub fn set_variable_type>( [INFO] [stdout] 167 | | &mut self, [INFO] [stdout] 168 | | var: I, [INFO] [stdout] 169 | | jty: T, [INFO] [stdout] 170 | | ) -> JodinResult<()> { [INFO] [stdout] | |________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn variable_type>(&self, id: I) -> JodinResult<&IntermediateType> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn resolve_type(&self, ty: &R) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:200:1 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct TypeEnvironmentManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn resolve_type(&self, ty: &R) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/unit.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn new(s: &'s str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/unit.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn join_translation_units, I: IntoIterator>(iterator: I) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/unit.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub file_location: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/unit.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / pub fn new( [INFO] [stdout] 151 | | file_location: PathBuf, [INFO] [stdout] 152 | | module: Identifier, [INFO] [stdout] 153 | | units: Vec, [INFO] [stdout] 154 | | jasm: Assembly, [INFO] [stdout] 155 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn merge(self, other: Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn merge_from(&mut self, other: Self) -> Result<(), JodinError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/unit.rs:346:1 [INFO] [stdout] | [INFO] [stdout] 346 | pub trait Incremental { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | fn translation_units(&self) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | fn representative_path(&self) -> PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/utility.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn node_count(tree: &impl Tree) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | pub trait Visitor<'t, Visited, Output> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | fn visit(&'t self, environment: &'t Visited) -> Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/utility.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | fn accept(&'a self, visitor: Visitor) -> Self::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait AcceptorMut<'a, Visitor>: Acceptor<'a, Visitor> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/utility.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | type MutOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | fn accept_mut(&'a mut self, visitor: Visitor) -> Self::MutOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:114:1 [INFO] [stdout] | [INFO] [stdout] 114 | pub trait Flatten { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/utility.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | fn flatten(this: Self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/utility.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn usum usize>(from: usize, to: usize, f: F) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/utility.rs:132:1 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct LoggedWrite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/utility.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn new(log_level: log::Level, writer: W, prefix: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-common/src/core/operator.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_precedence(&self) -> Precedence { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_precedence(&self) -> Precedence<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a static [INFO] [stdout] --> jodin-common/src/core/function_names.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub static CALL: &str = "@call"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a static [INFO] [stdout] --> jodin-common/src/core/function_names.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub static RECEIVE_MESSAGE: &str = "@receive"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | pub fn abbreviate_identifier(id: Identifier, max_size: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:621:1 [INFO] [stdout] | [INFO] [stdout] 621 | pub struct IdentifierChain { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:627:5 [INFO] [stdout] | [INFO] [stdout] 627 | pub fn new>(id: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | pub fn with_child>(mut self, id: I) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:639:5 [INFO] [stdout] | [INFO] [stdout] 639 | pub fn add_child>(&mut self, id: I) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/identifier.rs:662:5 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-common/src/identifier.rs:662:17 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator { [INFO] [stdout] | ^^^^^ ----------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 662 | pub fn iter(&self) -> IdentifierChainIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:683:1 [INFO] [stdout] | [INFO] [stdout] 683 | pub struct IdentifierChainIterator<'i> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-common/src/identifier.rs:697:17 [INFO] [stdout] | [INFO] [stdout] 697 | std::mem::replace(dest, next); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 697 | let _ = std::mem::replace(dest, next); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/identifier.rs:704:1 [INFO] [stdout] | [INFO] [stdout] 704 | pub struct IdentifierDiffIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/identifier.rs:712:5 [INFO] [stdout] | [INFO] [stdout] 712 | pub fn new(left: Identifier, right: Identifier, diff_start: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:369:1 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn parse_type>(expr: S) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/parsing/mod.rs:374:1 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn parse_program>(expr: S) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> jodin-common/src/types/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub mod base_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | pub trait AsIntermediate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | fn intermediate_type(&self) -> IntermediateType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Pointer(Pointer), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | JTrait(JTrait), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> jodin-common/src/types/mod.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | JObject(JObject), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn fields(&self) -> Vec<&Field> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:184:1 [INFO] [stdout] | [INFO] [stdout] 184 | pub trait Member: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | fn jtype(&self) -> &T; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | fn id(&self) -> &Identifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/mod.rs:229:1 [INFO] [stdout] | [INFO] [stdout] 229 | pub trait GetResolvedMember [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/mod.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | pub fn upgrade(&self) -> JodinResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static` which comes from the expansion of the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/base_type.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static::lazy_static! { [INFO] [stdout] 23 | | pub static ref BASE_TYPE_ID: Identifier = Identifier::from("Object"); [INFO] [stdout] 24 | | pub static ref TO_STRING_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("to_string"); [INFO] [stdout] 25 | | pub static ref GET_TYPE_ID: Identifier = &*BASE_TYPE_ID << &Identifier::from("get_type"); [INFO] [stdout] 26 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `lazy_static` which comes from the expansion of the macro `lazy_static::lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/functions.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | name: Identifier, [INFO] [stdout] 26 | | generics: Vec, [INFO] [stdout] 27 | | parameters: Vec, [INFO] [stdout] 28 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn as_bound(&self, jtype: &JodinType) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait Morph<'t> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | type Morphed: Type<'t>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/generic_context.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | / fn apply_generics(&self, generics: I) -> Self::Morphed [INFO] [stdout] 113 | | where [INFO] [stdout] 114 | | I: IntoIterator; [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn identifier(&self) -> Option<&Identifier> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn set_resolved_identifier(&mut self, _id: Identifier) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | write!(&mut output, "const "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | write!(&mut output, "{}", self.type_specifier); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/intermediate_type.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | / write!( [INFO] [stdout] 304 | | &mut output, [INFO] [stdout] 305 | | "<{}>", [INFO] [stdout] 306 | | Itertools::intersperse( [INFO] [stdout] ... | [INFO] [stdout] 310 | | .collect::() [INFO] [stdout] 311 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/pointer.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | fn build_resolved_type(&self, builder: &mut ResolvedTypeBuilder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct ResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct ResolvedTypeBuilder<'types> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn new(env: &'t TypeEnvironment) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn set_base_type(&mut self, ty: &Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn add_parent_type<'types, T: Type<'types>>(&mut self, parent: &'types T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn build(self) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn env(&self) -> &'t TypeEnvironment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:172:1 [INFO] [stdout] | [INFO] [stdout] 172 | pub struct JTraitObjectWithDistance<'t> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/resolved_type.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn new(object: &'t JTraitObject, distance: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/types/traits.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub entries: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/traits.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct JTraitObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct TypeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(jtype: JodinType, decl_node: Option<&JodinNode>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | output.add(prim, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 72 | let _ = output.add(prim, None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn base_type(&self) -> &JodinType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn get_type_by_name(&self, name: &Identifier) -> JodinResult<&Arc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn is_child_type(&self, _child: &Identifier, _parent: &Identifier) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | / pub fn set_variable_type>( [INFO] [stdout] 167 | | &mut self, [INFO] [stdout] 168 | | var: I, [INFO] [stdout] 169 | | jty: T, [INFO] [stdout] 170 | | ) -> JodinResult<()> { [INFO] [stdout] | |________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn variable_type>(&self, id: I) -> JodinResult<&IntermediateType> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn resolve_type(&self, ty: &R) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:200:1 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct TypeEnvironmentManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/types/type_environment.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn resolve_type(&self, ty: &R) -> WeakResolvedType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/unit.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn new(s: &'s str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/unit.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn join_translation_units, I: IntoIterator>(iterator: I) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> jodin-common/src/unit.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub file_location: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/unit.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / pub fn new( [INFO] [stdout] 151 | | file_location: PathBuf, [INFO] [stdout] 152 | | module: Identifier, [INFO] [stdout] 153 | | units: Vec, [INFO] [stdout] 154 | | jasm: Assembly, [INFO] [stdout] 155 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn merge(self, other: Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn merge_from(&mut self, other: Self) -> Result<(), JodinError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/unit.rs:346:1 [INFO] [stdout] | [INFO] [stdout] 346 | pub trait Incremental { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | fn translation_units(&self) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/unit.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | fn representative_path(&self) -> PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/utility.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn node_count(tree: &impl Tree) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | pub trait Visitor<'t, Visited, Output> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | fn visit(&'t self, environment: &'t Visited) -> Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/utility.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | fn accept(&'a self, visitor: Visitor) -> Self::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait AcceptorMut<'a, Visitor>: Acceptor<'a, Visitor> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated type [INFO] [stdout] --> jodin-common/src/utility.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | type MutOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> jodin-common/src/utility.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | fn accept_mut(&'a mut self, visitor: Visitor) -> Self::MutOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a trait [INFO] [stdout] --> jodin-common/src/utility.rs:114:1 [INFO] [stdout] | [INFO] [stdout] 114 | pub trait Flatten { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/utility.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | fn flatten(this: Self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> jodin-common/src/utility.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn usum usize>(from: usize, to: usize, f: F) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> jodin-common/src/utility.rs:132:1 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct LoggedWrite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> jodin-common/src/utility.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn new(log_level: log::Level, writer: W, prefix: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-vm-plugins v0.1.0 (/opt/rustwide/workdir/jodin-vm-plugins) [INFO] [stderr] Compiling jasm-macros v0.1.0 (/opt/rustwide/workdir/jasm-macros) [INFO] [stdout] warning: unused import: `jodin_common::assembly::value::Value` [INFO] [stdout] --> jodin-vm-plugins/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use jodin_common::assembly::value::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry` [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::hash_map::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ffi::{CStr, OsStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::plugins::VMHandle` [INFO] [stdout] --> jodin-vm-plugins/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::plugins::VMHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:143:53 [INFO] [stdout] | [INFO] [stdout] 143 | .map_err(|s| PluginError::FunctionError(unsafe { s })) [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-vm-kernel v0.1.0 (/opt/rustwide/workdir/jodin-vm-kernel) [INFO] [stdout] warning: unused import: `std::ffi::CStr` [INFO] [stdout] --> jodin-vm-kernel/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::assembly::value::Value` [INFO] [stdout] --> jodin-vm-plugins/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use jodin_common::assembly::value::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry` [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::hash_map::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ffi::{CStr, OsStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::plugins::VMHandle` [INFO] [stdout] --> jodin-vm-plugins/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::plugins::VMHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CStr` [INFO] [stdout] --> jodin-vm-kernel/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> jodin-vm-plugins/src/plugins.rs:143:53 [INFO] [stdout] | [INFO] [stdout] 143 | .map_err(|s| PluginError::FunctionError(unsafe { s })) [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-rs-vm v0.1.0 (/opt/rustwide/workdir/jodin-rs-vm) [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `ArithmeticsTrait` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `MemoryTrait` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `VirtualMachine` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildHasher` and `SipHasher` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::hash::{BuildHasher, Hash, Hasher, SipHasher}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use std::hash::{BuildHasher, Hash, Hasher, SipHasher}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | use std::ops::{Add, Deref}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `global_scope_id` is never read [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct VMMemory { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 115 | mem_nodes: HashMap, [INFO] [stdout] 116 | global_scope_id: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VMMemory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `used_var_ids` is never used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 56 | impl MemNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 57 | pub fn used_var_ids(self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ret_id` is never used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 77 | impl VarIdPool { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn ret_id(&mut self, id: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-rs-vm/src/mvp.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 71 | let _ = std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 346 | let _ = std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:258:14 [INFO] [stdout] | [INFO] [stdout] 258 | fn stack(&self) -> VMStack { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 258 | fn stack(&self) -> VMStack<'_, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:259:31 [INFO] [stdout] | [INFO] [stdout] 259 | unsafe { VMStack::new(&mut *(&self.memory as *const M as *mut M)) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:769:13 [INFO] [stdout] | [INFO] [stdout] 769 | self.run_from_index(static_instruction_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 769 | let _ = self.run_from_index(static_instruction_index); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:1000:26 [INFO] [stdout] | [INFO] [stdout] 1000 | vm: unsafe { &mut *(vm as *const _ as *mut _) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodinc v0.1.0 (/opt/rustwide/workdir/jodinc) [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodinc/src/lib.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodinc/src/lib.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> jodinc/src/lib.rs:56:1 [INFO] [stdout] | [INFO] [stdout] 56 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodinc/src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResolvedIdentityTag` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | use jodin_common::core::tags::{ResolvedIdentityTag, TagTools}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsIntermediate` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:17:27 [INFO] [stdout] | [INFO] [stdout] 17 | use jodin_common::types::{AsIntermediate, StorageModifier, TypeTag}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLock` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::types::resolved_type::ResolvedType` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use jodin_common::types::resolved_type::ResolvedType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rel_label` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:7:41 [INFO] [stdout] | [INFO] [stdout] 7 | use jodin_common::assembly::asm_block::{rel_label, AssemblyBlock, InsertAsm}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cond`, `pop`, and `return_` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | use jasm_macros::{cond, if_, pop, return_, scope, value, var, while_}; [INFO] [stdout] | ^^^^ ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::core::operator::Operator` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use jodin_common::core::operator::Operator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufReader` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use std::io::BufReader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Compilable` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:29:33 [INFO] [stdout] | [INFO] [stdout] 29 | use jodin_common::compilation::{Compilable, Compiler}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `native` [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use jasm_macros::{call, jasm, label, native, push, return_}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `block` [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use jodin_common::{block, init_logging}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KERNEL` is never used [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | const KERNEL: &str = "target/debug/jodin_vm_kernel.dll"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | let mut file = OpenOptions::new() [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodinc/src/lib.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodinc/src/lib.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> jodinc/src/lib.rs:56:1 [INFO] [stdout] | [INFO] [stdout] 56 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodinc/src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResolvedIdentityTag` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | use jodin_common::core::tags::{ResolvedIdentityTag, TagTools}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsIntermediate` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:17:27 [INFO] [stdout] | [INFO] [stdout] 17 | use jodin_common::types::{AsIntermediate, StorageModifier, TypeTag}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLock` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::types::resolved_type::ResolvedType` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use jodin_common::types::resolved_type::ResolvedType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rel_label` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:7:41 [INFO] [stdout] | [INFO] [stdout] 7 | use jodin_common::assembly::asm_block::{rel_label, AssemblyBlock, InsertAsm}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cond`, `pop`, and `return_` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | use jasm_macros::{cond, if_, pop, return_, scope, value, var, while_}; [INFO] [stdout] | ^^^^ ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::core::operator::Operator` [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use jodin_common::core::operator::Operator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufReader` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use std::io::BufReader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `writer_override` is never read [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct JodinVMCompiler<'c> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 45 | originating_file_path: Option, [INFO] [stdout] 46 | writer_override: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/function_compiler.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl FunctionCompiler { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 33 | pub fn new(tracker: VariableUseTracker) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl StatementCompiler { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 35 | pub fn new(tracker: VariableUseTracker) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `object_path` and `output_directory` are never read [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct IncrementalCompiler { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 41 | object_path: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 42 | output_directory: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> jodinc/src/error_reporting.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct FileStructure { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 11 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileStructure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent_structure` and `line_range` are never read [INFO] [stdout] --> jodinc/src/error_reporting.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct FilePart<'a> { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 62 | parent_structure: &'a FileStructure, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | line_range: LineRange, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DependencyTool` is never constructed [INFO] [stdout] --> jodinc/src/passes/analysis/dependency_tool.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DependencyTool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `major_namespace` and `id_within_major_namespace` are never used [INFO] [stdout] --> jodinc/src/passes/analysis/dependency_tool.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl DependencyTool { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 10 | fn major_namespace(&self) -> Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn id_within_major_namespace(&self, _id: &Identifier) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NoMangle` is never constructed [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct NoMangle; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoMangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `semi_push_namespace` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl IdentifierCreator { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn semi_push_namespace( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_first_tag` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn find_first_tag(node: &JodinNode) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AdvTypeResolutionTarget` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/type_resolution_tool.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | enum AdvTypeResolutionTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `settings` is never read [INFO] [stdout] --> jodinc/src/passes/frontend.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FilesToJodinNodeTool<'a> { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 12 | settings: &'a CompilationSettings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_constant_expressions` is never used [INFO] [stdout] --> jodinc/src/passes/optimization/constant_expressions.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn find_constant_expressions(_node_tree: &JodinNode) -> JodinResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replace_constant_expressions` is never used [INFO] [stdout] --> jodinc/src/passes/optimization/constant_expressions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn replace_constant_expressions(mut input: JodinNode) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 238 | target: impl AsRef, [INFO] [stdout] 239 | ) -> TranslationObjectCompiler { [INFO] [stdout] | ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 239 | ) -> TranslationObjectCompiler<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | std::fs::create_dir_all(&buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 327 | let _ = std::fs::create_dir_all(&buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:418:30 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn split_by_module(tree: &JodinNode) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 418 | pub fn split_by_module(tree: &JodinNode) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | write!(f, "#{}#", self.identifier); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | / tool.visibility [INFO] [stdout] 38 | | .insert_with_identifier(Visibility::Public, Identifier::from(NATIVE_OBJECT)); [INFO] [stdout] | |________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = tool.visibility [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | output.visibility.insert_with_identifier(vis, id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 49 | let _ = output.visibility.insert_with_identifier(vis, id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:220:21 [INFO] [stdout] | [INFO] [stdout] 220 | name.add_tag(vis); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 220 | let _ = name.add_tag(vis); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | resolver.use_namespace(original_current.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = resolver.use_namespace(original_current.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `IdentifierResolver::use_namespace` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | resolver.use_namespace(original_current.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = resolver.use_namespace(original_current.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:369:13 [INFO] [stdout] | [INFO] [stdout] 369 | resolver.stop_use_namespace(&original_current); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 369 | let _ = resolver.stop_use_namespace(&original_current); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:617:13 [INFO] [stdout] | [INFO] [stdout] 617 | tree.add_tag(tag); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 617 | let _ = tree.add_tag(tag); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Compilable` [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:29:33 [INFO] [stdout] | [INFO] [stdout] 29 | use jodin_common::compilation::{Compilable, Compiler}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | let mut file = OpenOptions::new() [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-tests-common v0.1.0 (/opt/rustwide/workdir/jodin-tests-common) [INFO] [stderr] Compiling jodin-tests v0.1.0 (/opt/rustwide/workdir/jodin-tests) [INFO] [stdout] warning: unused import: `jodin_rs_vm::error::VMError` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use jodin_rs_vm::error::VMError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VM` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:6:34 [INFO] [stdout] | [INFO] [stdout] 6 | use jodin_rs_vm::vm::{VMBuilder, VM}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `writer_override` is never read [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct JodinVMCompiler<'c> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 45 | originating_file_path: Option, [INFO] [stdout] 46 | writer_override: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/function_compiler.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl FunctionCompiler { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 33 | pub fn new(tracker: VariableUseTracker) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/statement_compiler.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl StatementCompiler { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 35 | pub fn new(tracker: VariableUseTracker) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `object_path` and `output_directory` are never read [INFO] [stdout] --> jodinc/src/compilation/incremental.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct IncrementalCompiler { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 41 | object_path: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 42 | output_directory: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> jodinc/src/error_reporting.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct FileStructure { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 11 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileStructure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent_structure` and `line_range` are never read [INFO] [stdout] --> jodinc/src/error_reporting.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct FilePart<'a> { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 62 | parent_structure: &'a FileStructure, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | line_range: LineRange, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DependencyTool` is never constructed [INFO] [stdout] --> jodinc/src/passes/analysis/dependency_tool.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DependencyTool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `major_namespace` and `id_within_major_namespace` are never used [INFO] [stdout] --> jodinc/src/passes/analysis/dependency_tool.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl DependencyTool { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 10 | fn major_namespace(&self) -> Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn id_within_major_namespace(&self, _id: &Identifier) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NoMangle` is never constructed [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct NoMangle; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoMangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `semi_push_namespace` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl IdentifierCreator { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn semi_push_namespace( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_first_tag` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn find_first_tag(node: &JodinNode) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AdvTypeResolutionTarget` is never used [INFO] [stdout] --> jodinc/src/passes/analysis/type_resolution_tool.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | enum AdvTypeResolutionTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `settings` is never read [INFO] [stdout] --> jodinc/src/passes/frontend.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FilesToJodinNodeTool<'a> { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 12 | settings: &'a CompilationSettings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_constant_expressions` is never used [INFO] [stdout] --> jodinc/src/passes/optimization/constant_expressions.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn find_constant_expressions(_node_tree: &JodinNode) -> JodinResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replace_constant_expressions` is never used [INFO] [stdout] --> jodinc/src/passes/optimization/constant_expressions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn replace_constant_expressions(mut input: JodinNode) -> JodinResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 238 | target: impl AsRef, [INFO] [stdout] 239 | ) -> TranslationObjectCompiler { [INFO] [stdout] | ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 239 | ) -> TranslationObjectCompiler<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | std::fs::create_dir_all(&buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 327 | let _ = std::fs::create_dir_all(&buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:418:30 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn split_by_module(tree: &JodinNode) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 418 | pub fn split_by_module(tree: &JodinNode) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | write!(f, "#{}#", self.identifier); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | / tool.visibility [INFO] [stdout] 38 | | .insert_with_identifier(Visibility::Public, Identifier::from(NATIVE_OBJECT)); [INFO] [stdout] | |________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = tool.visibility [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | output.visibility.insert_with_identifier(vis, id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 49 | let _ = output.visibility.insert_with_identifier(vis, id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:220:21 [INFO] [stdout] | [INFO] [stdout] 220 | name.add_tag(vis); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 220 | let _ = name.add_tag(vis); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | resolver.use_namespace(original_current.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = resolver.use_namespace(original_current.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `IdentifierResolver::use_namespace` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | resolver.use_namespace(original_current.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = resolver.use_namespace(original_current.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:369:13 [INFO] [stdout] | [INFO] [stdout] 369 | resolver.stop_use_namespace(&original_current); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 369 | let _ = resolver.stop_use_namespace(&original_current); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodinc/src/passes/analysis/identity_resolution_tool.rs:617:13 [INFO] [stdout] | [INFO] [stdout] 617 | tree.add_tag(tag); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 617 | let _ = tree.add_tag(tag); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | mut input, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_rs_vm::error::VMError` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use jodin_rs_vm::error::VMError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VM` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:6:34 [INFO] [stdout] | [INFO] [stdout] 6 | use jodin_rs_vm::vm::{VMBuilder, VM}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `label`, `pop`, and `return_` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:146:29 [INFO] [stdout] | [INFO] [stdout] 146 | use jasm_macros::{jasm, label, pop, return_}; [INFO] [stdout] | ^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::assembly::prelude::Asm` [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | use jodin_common::assembly::prelude::Asm; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `RwLock` [INFO] [stdout] --> jodin-tests/src/lib.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::{Mutex, RwLock}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArithmeticsTrait`, `MemoryTrait`, and `VirtualMachine` [INFO] [stdout] --> jodin-tests/src/lib.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | use jodin_rs_vm::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MinimumMemory` [INFO] [stdout] --> jodin-tests/src/lib.rs:10:36 [INFO] [stdout] | [INFO] [stdout] 10 | use jodin_rs_vm::mvp::{MinimumALU, MinimumMemory}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VM` [INFO] [stdout] --> jodin-tests/src/lib.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | use jodin_rs_vm::vm::{VMBuilder, VM}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lazy_static::lazy_static` [INFO] [stdout] --> jodin-tests/src/lib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use lazy_static::lazy_static; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> jodin-tests/src/lib.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | use log::{debug, info, Level, LevelFilter}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `native` [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use jasm_macros::{call, jasm, label, native, push, return_}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `block` [INFO] [stdout] --> jodin-rs-vm/src/bin/jodin/main.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use jodin_common::{block, init_logging}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JodinErrorType`, `JodinError`, and `JodinResult` [INFO] [stdout] --> jodinc/src/main.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use jodin_common::error::{JodinError, JodinErrorType, JodinResult}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodinc::passes::frontend::FilesToJodinNodeTool` [INFO] [stdout] --> jodinc/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use jodinc::passes::frontend::FilesToJodinNodeTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodinc::process_jodin_node` [INFO] [stdout] --> jodinc/src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use jodinc::process_jodin_node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodinc/src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> jodinc/src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::exit` [INFO] [stdout] --> jodinc/src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::process::exit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> jodin-tests-common/src/jvm_runner.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | mut input, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ACKERMANN_FUNCTION` is never used [INFO] [stdout] --> jodinc/tests/ackermann.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | static ACKERMANN_FUNCTION: &str = r" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling jodin-benchmarks v0.1.0 (/opt/rustwide/workdir/jodin-benchmarks) [INFO] [stdout] warning: unused imports: `JodinErrorType`, `JodinError`, and `JodinResult` [INFO] [stdout] --> jodinc/src/main.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use jodin_common::error::{JodinError, JodinErrorType, JodinResult}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodinc::passes::frontend::FilesToJodinNodeTool` [INFO] [stdout] --> jodinc/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use jodinc::passes::frontend::FilesToJodinNodeTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodinc::process_jodin_node` [INFO] [stdout] --> jodinc/src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use jodinc::process_jodin_node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> jodinc/src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> jodinc/src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::exit` [INFO] [stdout] --> jodinc/src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::process::exit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `const_err` has been removed: converted into hard error, see issue #71800 for more information [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | const_err, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | private_in_public, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `ArithmeticsTrait` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `MemoryTrait` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `VirtualMachine` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use core_traits::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> jodin-rs-vm/src/lib.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::core_traits::{ArithmeticsTrait, MemoryTrait, VirtualMachine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildHasher` and `SipHasher` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::hash::{BuildHasher, Hash, Hasher, SipHasher}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use std::hash::{BuildHasher, Hash, Hasher, SipHasher}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LevelFilter` and `info` [INFO] [stdout] --> jodin-rs-vm/tests/mathmatics.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use log::{info, LevelFilter, trace}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::assembly::asm_block::AssemblyBlock` [INFO] [stdout] --> jodin-rs-vm/tests/mathmatics.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use jodin_common::assembly::asm_block::AssemblyBlock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jodin_common::init_logging` [INFO] [stdout] --> jodin-rs-vm/tests/mathmatics.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use jodin_common::init_logging; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | use std::ops::{Add, Deref}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `global_scope_id` is never read [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct VMMemory { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 115 | mem_nodes: HashMap, [INFO] [stdout] 116 | global_scope_id: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VMMemory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `used_var_ids` is never used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 56 | impl MemNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 57 | pub fn used_var_ids(self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ret_id` is never used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 77 | impl VarIdPool { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn ret_id(&mut self, id: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-rs-vm/src/mvp.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 71 | let _ = std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> jodin-rs-vm/src/scoped_memory.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 346 | let _ = std::mem::replace(&mut self.stack, stack); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:258:14 [INFO] [stdout] | [INFO] [stdout] 258 | fn stack(&self) -> VMStack { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 258 | fn stack(&self) -> VMStack<'_, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:259:31 [INFO] [stdout] | [INFO] [stdout] 259 | unsafe { VMStack::new(&mut *(&self.memory as *const M as *mut M)) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:769:13 [INFO] [stdout] | [INFO] [stdout] 769 | self.run_from_index(static_instruction_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 769 | let _ = self.run_from_index(static_instruction_index); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> jodin-rs-vm/src/vm.rs:1000:26 [INFO] [stdout] | [INFO] [stdout] 1000 | vm: unsafe { &mut *(vm as *const _ as *mut _) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 36s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.5, lalrpop v0.19.7 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "86319f5676ad598340e7deab9a31607986f27862a5e9c35cfb45df444b831f1d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86319f5676ad598340e7deab9a31607986f27862a5e9c35cfb45df444b831f1d", kill_on_drop: false }` [INFO] [stdout] 86319f5676ad598340e7deab9a31607986f27862a5e9c35cfb45df444b831f1d