[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] testing JoshuaRadin37/jodin-rs against 1.91.0 for beta-1.92-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaRadin37%2Fjodin-rs" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[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-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JoshuaRadin37/jodin-rs on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+1.91.0" "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] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustversion v1.0.6
[INFO] [stderr]   Downloaded simplelog v0.11.2
[INFO] [stderr]   Downloaded thiserror v1.0.30
[INFO] [stderr]   Downloaded strum v0.23.0
[INFO] [stderr]   Downloaded plotters-svg v0.3.1
[INFO] [stderr]   Downloaded num-iter v0.1.42
[INFO] [stderr]   Downloaded cast v0.2.7
[INFO] [stderr]   Downloaded redox_syscall v0.2.10
[INFO] [stderr]   Downloaded criterion-plot v0.4.4
[INFO] [stderr]   Downloaded log v0.4.14
[INFO] [stderr]   Downloaded js-sys v0.3.56
[INFO] [stderr]   Downloaded criterion v0.3.5
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.79
[INFO] [stderr]   Downloaded rayon v1.5.1
[INFO] [stderr]   Downloaded lalrpop v0.19.7
[INFO] [stderr]   Downloaded object v0.27.1
[INFO] [stderr]   Downloaded gimli v0.26.1
[INFO] [stderr]   Downloaded libc v0.2.119
[INFO] [stderr]   Downloaded libloading v0.7.3
[INFO] [stderr]   Downloaded serde_json v1.0.79
[INFO] [stderr]   Downloaded syn v1.0.86
[INFO] [stderr]   Downloaded petgraph v0.5.1
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.79
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.7
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.7
[INFO] [stderr]   Downloaded logos v0.12.0
[INFO] [stderr]   Downloaded rayon-core v1.9.1
[INFO] [stderr]   Downloaded anyhow v1.0.55
[INFO] [stderr]   Downloaded logos-derive v0.12.0
[INFO] [stderr]   Downloaded paris v1.5.11
[INFO] [stderr]   Downloaded strum_macros v0.23.1
[INFO] [stderr]   Downloaded serde_derive v1.0.136
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.79
[INFO] [stderr]   Downloaded semver v1.0.6
[INFO] [stderr]   Downloaded num v0.4.0
[INFO] [stderr]   Downloaded diff v0.1.12
[INFO] [stderr]   Downloaded parking_lot_core v0.8.5
[INFO] [stderr]   Downloaded beef v0.5.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.79
[INFO] [stderr]   Downloaded redox_users v0.4.0
[INFO] [stderr]   Downloaded lalrpop-util v0.19.7
[INFO] [stderr]   Downloaded quote v1.0.15
[INFO] [stderr]   Downloaded backtrace v0.3.64
[INFO] [stderr]   Downloaded plotters v0.3.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.79
[INFO] [stderr]   Downloaded bytemuck v1.7.3
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.2
[INFO] [stderr]   Downloaded serde v1.0.136
[INFO] [stderr]   Downloaded thiserror-impl v1.0.30
[INFO] [stderr]   Downloaded siphasher v0.3.9
[INFO] [stderr]   Downloaded string_cache v0.8.3
[INFO] [stderr]   Downloaded more_collection_macros v0.2.2
[INFO] [stderr]   Downloaded smallvec v1.8.0
[INFO] [stderr]   Downloaded plotters-backend v0.3.2
[INFO] [stderr]   Downloaded either v1.6.1
[INFO] [stderr]   Downloaded chrono v0.4.19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6c499724e5d5ec9ff8ad3c6aa61b0c6b6b3eaef8e30f57d32feaec7659d6c749
[INFO] running `Command { std: "docker" "start" "-a" "6c499724e5d5ec9ff8ad3c6aa61b0c6b6b3eaef8e30f57d32feaec7659d6c749", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c499724e5d5ec9ff8ad3c6aa61b0c6b6b3eaef8e30f57d32feaec7659d6c749", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c499724e5d5ec9ff8ad3c6aa61b0c6b6b3eaef8e30f57d32feaec7659d6c749", kill_on_drop: false }`
[INFO] [stdout] 6c499724e5d5ec9ff8ad3c6aa61b0c6b6b3eaef8e30f57d32feaec7659d6c749
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a98f9b01e07809bede17a871de762d5a78a0ceb19ba7e0e7307eb083db38a005
[INFO] running `Command { std: "docker" "start" "-a" "a98f9b01e07809bede17a871de762d5a78a0ceb19ba7e0e7307eb083db38a005", 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 libc v0.2.119
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling siphasher v0.3.9
[INFO] [stderr]    Compiling lock_api v0.4.6
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling pico-args v0.4.2
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling beef v0.5.1
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling serde_derive v1.0.136
[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 unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling object v0.27.1
[INFO] [stderr]    Compiling paris v1.5.11
[INFO] [stderr]    Compiling itoa v1.0.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling getrandom v0.2.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling backtrace v0.3.64
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling ryu v1.0.9
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling string_cache v0.8.3
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling strum v0.23.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling more_collection_macros v0.2.2
[INFO] [stderr]    Compiling pathdiff v0.2.1
[INFO] [stderr]    Compiling bytemuck v1.7.3
[INFO] [stderr]    Compiling num-iter v0.1.42
[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 rand v0.8.5
[INFO] [stderr]    Compiling num-complex v0.4.0
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling jodin-benchmarks v0.1.0 (/opt/rustwide/workdir/jodin-benchmarks)
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling simplelog v0.11.2
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling lalrpop-util v0.19.7
[INFO] [stderr]    Compiling lalrpop v0.19.7
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling num v0.4.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling logos-derive v0.12.0
[INFO] [stderr]    Compiling strum_macros v0.23.1
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling logos v0.12.0
[INFO] [stderr]    Compiling thiserror v1.0.30
[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 <https://github.com/rust-lang/rust/issues/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 <https://rust-lang.github.io/rfcs/2145-type-privacy.html> 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)]` (part of `#[warn(unused)]`) 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: unnecessary parentheses around closure body
[INFO] [stdout]    --> jodin-common/src/ast/jodin_node.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |             .map(|(index, ch)| (index as u64 * <char as AsPrimitive<u64>>::as_(ch)))
[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] 451 -             .map(|(index, ch)| (index as u64 * <char as AsPrimitive<u64>>::as_(ch)))
[INFO] [stdout] 451 +             .map(|(index, ch)| index as u64 * <char as AsPrimitive<u64>>::as_(ch))
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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] 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::<T, N>::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]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .find(|&(_pos, &b)| b == b'\n')
[INFO] [stdout]     |                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PTR_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 167 -             .find(|&(pos, &b)| b == b'\n')
[INFO] [stdout] 167 +             .find(|&(assembly::instructions::PTR_SIZE, &b)| b == b'\n')
[INFO] [stdout]     |
[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)]` (part of `#[warn(unused)]`) 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<String>,
[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<str>) -> 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<str>) -> 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<A1, A2>
[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<A, ()> {
[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<dyn Error>),
[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<S: AsRef<str>>(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<S: AsRef<str>>(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<V>(value: V) -> Self
[INFO] [stdout] 133 | |     where
[INFO] [stdout] 134 | |         Value: From<V>,
[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<str>) -> 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<str>) -> 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<S: AsRef<str>, I: Into<Option<usize>>>(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<S>(attribute_name: S) -> Self
[INFO] [stdout] 152 | |     where
[INFO] [stdout] 153 | |         S: AsRef<str>,
[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<Asm>;
[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<u8>;
[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<Bytecode, BytecodeError>;
[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<String, Value>),
[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<Value>),
[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<Value>) -> 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<String> {
[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: Into<Value>>(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<str>) -> 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<H: Hasher>(&self, hasher: &mut H) -> JodinResult<()> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type 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<I: Into<Identifier>>(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<I: Into<Identifier>>(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<I: Into<Identifier>>(&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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> jodin-common/src/identifier.rs:662:17
[INFO] [stdout]     |
[INFO] [stdout] 662 |     pub fn iter(&self) -> IdentifierChainIterator {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type 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)]` (part of `#[warn(unused)]`) 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<S: AsRef<str>>(expr: S) -> JodinResult<IntermediateType> {
[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<S: AsRef<str>>(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<IntermediateType>> {
[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<T>: 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<M, T>
[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<Field<ResolvedType>> {
[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<GenericParameter>,
[INFO] [stdout] 27 | |         parameters: Vec<IntermediateType>,
[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<GenericParameterInstance> {
[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<I>(&self, generics: I) -> Self::Morphed
[INFO] [stdout] 113 | |     where
[INFO] [stdout] 114 | |         I: IntoIterator<Item = (Identifier, Identifier)>;
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 let _ = write!(&mut output, "const ");
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 301 |             let _ = write!(&mut output, "{}", self.type_specifier);
[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::<String>()
[INFO] [stdout] 311 | |                 );
[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] 303 |                 let _ = write!(
[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 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<JodinType>) {
[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<Field<IntermediateType>>,
[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<JodinType>> {
[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<T: AsIntermediate, I: Into<Identifier>>(
[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<I: Into<Identifier>>(&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<R: ResolveType>(&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<R: ResolveType>(&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<S: AsRef<str>, I: IntoIterator<Item = S>>(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<TranslationUnit>,
[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<Self, JodinError> {
[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<TranslationUnit>;
[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<T, E> {
[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<T, E>;
[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<F: Fn(usize) -> 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<W: io::Write> {
[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<Option<String>>) -> 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 <https://github.com/rust-lang/rust/issues/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 <https://rust-lang.github.io/rfcs/2145-type-privacy.html> 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<usize, MemNode>,
[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<usize> {
[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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> jodin-rs-vm/src/vm.rs:258:14
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn stack(&self) -> VMStack<M> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type 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 <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[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 <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[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 <https://github.com/rust-lang/rust/issues/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 <https://rust-lang.github.io/rfcs/2145-type-privacy.html> 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: 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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<PathBuf>,
[INFO] [stdout] 46 |     writer_override: Option<Box<dyn io::Write + 'c>>,
[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<PathBuf>,
[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<String>,
[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] 
[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<F, R>(
[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<T: 'static + 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<HashMap<Identifier, Literal>> {
[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<JodinNode> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> jodinc/src/compilation/jodin_vm_compiler/mod.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 238 |         target: impl AsRef<str>,
[INFO] [stdout] 239 |     ) -> TranslationObjectCompiler {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type 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: hiding a lifetime that's elided elsewhere is 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<Module> {
[INFO] [stdout]     |                              ^^^^^^^^^^         ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 418 | pub fn split_by_module(tree: &JodinNode) -> Vec<Module<'_>> {
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let _ = write!(f, "#{}#", self.identifier);
[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: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-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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 03s
[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" "a98f9b01e07809bede17a871de762d5a78a0ceb19ba7e0e7307eb083db38a005", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a98f9b01e07809bede17a871de762d5a78a0ceb19ba7e0e7307eb083db38a005", kill_on_drop: false }`
[INFO] [stdout] a98f9b01e07809bede17a871de762d5a78a0ceb19ba7e0e7307eb083db38a005
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 309c2be6601cad76c6fe4afc6712c8c5857d8f6a43182448fd63d1181b692f43
[INFO] running `Command { std: "docker" "start" "-a" "309c2be6601cad76c6fe4afc6712c8c5857d8f6a43182448fd63d1181b692f43", 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 crossbeam-utils v0.8.7
[INFO] [stderr]    Compiling semver v1.0.6
[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 plotters-backend v0.3.2
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling plotters-svg v0.3.1
[INFO] [stderr]    Compiling string_cache v0.8.3
[INFO] [stderr]    Compiling lalrpop v0.19.7
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling plotters v0.3.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling criterion-plot v0.4.4
[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 <https://github.com/rust-lang/rust/issues/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 <https://rust-lang.github.io/rfcs/2145-type-privacy.html> 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)]` (part of `#[warn(unused)]`) 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: unnecessary parentheses around closure body
[INFO] [stdout]    --> jodin-common/src/ast/jodin_node.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |             .map(|(index, ch)| (index as u64 * <char as AsPrimitive<u64>>::as_(ch)))
[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] 451 -             .map(|(index, ch)| (index as u64 * <char as AsPrimitive<u64>>::as_(ch)))
[INFO] [stdout] 451 +             .map(|(index, ch)| index as u64 * <char as AsPrimitive<u64>>::as_(ch))
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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] 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://github.com/rust-lang/rust/issues/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 <https://rust-lang.github.io/rfcs/2145-type-privacy.html> 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)]` (part of `#[warn(unused)]`) 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: unnecessary parentheses around closure body
[INFO] [stdout]    --> jodin-common/src/ast/jodin_node.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |             .map(|(index, ch)| (index as u64 * <char as AsPrimitive<u64>>::as_(ch)))
[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] 451 -             .map(|(index, ch)| (index as u64 * <char as AsPrimitive<u64>>::as_(ch)))
[INFO] [stdout] 451 +             .map(|(index, ch)| index as u64 * <char as AsPrimitive<u64>>::as_(ch))
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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] 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::<T, N>::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::<T, N>::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]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .find(|&(_pos, &b)| b == b'\n')
[INFO] [stdout]     |                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PTR_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 167 -             .find(|&(pos, &b)| b == b'\n')
[INFO] [stdout] 167 +             .find(|&(assembly::instructions::PTR_SIZE, &b)| b == b'\n')
[INFO] [stdout]     |
[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)]` (part of `#[warn(unused)]`) 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<String>,
[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<str>) -> 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<str>) -> 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<A1, A2>
[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<A, ()> {
[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<dyn Error>),
[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<S: AsRef<str>>(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<S: AsRef<str>>(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<V>(value: V) -> Self
[INFO] [stdout] 133 | |     where
[INFO] [stdout] 134 | |         Value: From<V>,
[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<str>) -> 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<str>) -> 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<S: AsRef<str>, I: Into<Option<usize>>>(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<S>(attribute_name: S) -> Self
[INFO] [stdout] 152 | |     where
[INFO] [stdout] 153 | |         S: AsRef<str>,
[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<Asm>;
[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<u8>;
[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<Bytecode, BytecodeError>;
[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<String, Value>),
[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<Value>),
[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<Value>) -> 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<String> {
[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: Into<Value>>(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<str>) -> 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<H: Hasher>(&self, hasher: &mut H) -> JodinResult<()> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type 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<I: Into<Identifier>>(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<I: Into<Identifier>>(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<I: Into<Identifier>>(&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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> jodin-common/src/identifier.rs:662:17
[INFO] [stdout]     |
[INFO] [stdout] 662 |     pub fn iter(&self) -> IdentifierChainIterator {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type 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)]` (part of `#[warn(unused)]`) 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<S: AsRef<str>>(expr: S) -> JodinResult<IntermediateType> {
[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<S: AsRef<str>>(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<IntermediateType>> {
[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<T>: 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<M, T>
[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<Field<ResolvedType>> {
[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<GenericParameter>,
[INFO] [stdout] 27 | |         parameters: Vec<IntermediateType>,
[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<GenericParameterInstance> {
[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<I>(&self, generics: I) -> Self::Morphed
[INFO] [stdout] 113 | |     where
[INFO] [stdout] 114 | |         I: IntoIterator<Item = (Identifier, Identifier)>;
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 let _ = write!(&mut output, "const ");
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 301 |             let _ = write!(&mut output, "{}", self.type_specifier);
[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::<String>()
[INFO] [stdout] 311 | |                 );
[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] 303 |                 let _ = write!(
[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 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<JodinType>) {
[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<Field<IntermediateType>>,
[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<JodinType>> {
[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<T: AsIntermediate, I: Into<Identifier>>(
[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<I: Into<Identifier>>(&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<R: ResolveType>(&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<R: ResolveType>(&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<S: AsRef<str>, I: IntoIterator<Item = S>>(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<TranslationUnit>,
[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<Self, JodinError> {
[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<TranslationUnit>;
[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<T, E> {
[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<T, E>;
[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<F: Fn(usize) -> 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<W: io::Write> {
[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<Option<String>>) -> Self {
[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]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .find(|&(_pos, &b)| b == b'\n')
[INFO] [stdout]     |                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PTR_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 167 -             .find(|&(pos, &b)| b == b'\n')
[INFO] [stdout] 167 +             .find(|&(assembly::instructions::PTR_SIZE, &b)| b == b'\n')
[INFO] [stdout]     |
[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)]` (part of `#[warn(unused)]`) 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<String>,
[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<str>) -> 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<str>) -> 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<A1, A2>
[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<A, ()> {
[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<dyn Error>),
[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<S: AsRef<str>>(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<S: AsRef<str>>(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<V>(value: V) -> Self
[INFO] [stdout] 133 | |     where
[INFO] [stdout] 134 | |         Value: From<V>,
[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<str>) -> 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<str>) -> 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<S: AsRef<str>, I: Into<Option<usize>>>(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<S>(attribute_name: S) -> Self
[INFO] [stdout] 152 | |     where
[INFO] [stdout] 153 | |         S: AsRef<str>,
[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<Asm>;
[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<u8>;
[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<Bytecode, BytecodeError>;
[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<String, Value>),
[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<Value>),
[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<Value>) -> 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<String> {
[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: Into<Value>>(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<str>) -> 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<H: Hasher>(&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)]` (part of `#[warn(unused)]`) 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: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type 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<I: Into<Identifier>>(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<I: Into<Identifier>>(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<I: Into<Identifier>>(&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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> jodin-common/src/identifier.rs:662:17
[INFO] [stdout]     |
[INFO] [stdout] 662 |     pub fn iter(&self) -> IdentifierChainIterator {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type 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<S: AsRef<str>>(expr: S) -> JodinResult<IntermediateType> {
[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<S: AsRef<str>>(expr: S) -> ParseResult {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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<IntermediateType>> {
[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<T>: 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<M, T>
[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<Field<ResolvedType>> {
[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<GenericParameter>,
[INFO] [stdout] 27 | |         parameters: Vec<IntermediateType>,
[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<GenericParameterInstance> {
[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<I>(&self, generics: I) -> Self::Morphed
[INFO] [stdout] 113 | |     where
[INFO] [stdout] 114 | |         I: IntoIterator<Item = (Identifier, Identifier)>;
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 let _ = write!(&mut output, "const ");
[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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 301 |             let _ = write!(&mut output, "{}", self.type_specifier);
[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::<String>()
[INFO] [stdout] 311 | |                 );
[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] 303 |                 let _ = write!(
[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 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<JodinType>) {
[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<Field<IntermediateType>>,
[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<JodinType>> {
[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<T: AsIntermediate, I: Into<Identifier>>(
[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<I: Into<Identifier>>(&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<R: ResolveType>(&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<R: ResolveType>(&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<S: AsRef<str>, I: IntoIterator<Item = S>>(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<TranslationUnit>,
[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<Self, JodinError> {
[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<TranslationUnit>;
[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<T, E> {
[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<T, E>;
[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<F: Fn(usize) -> 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<W: io::Write> {
[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<Option<String>>) -> 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `jodin-common` (lib test); 205 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.91.0-x86_64-unknown-linux-gnu/bin/rustc --crate-name jodin_common --edition=2021 jodin-common/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("strict"))' -C metadata=06bddf28395ec41d -C extra-filename=-a51c59566020e4c3 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-d3643cfc1dd0b198.rlib --extern backtrace=/opt/rustwide/target/debug/deps/libbacktrace-5604cdf5f5247fbb.rlib --extern bincode=/opt/rustwide/target/debug/deps/libbincode-eb2f83fc7e6b62b1.rlib --extern bitfield=/opt/rustwide/target/debug/deps/libbitfield-8e67f2cde5e7a8a3.rlib --extern bytemuck=/opt/rustwide/target/debug/deps/libbytemuck-e355415600717d06.rlib --extern byteorder=/opt/rustwide/target/debug/deps/libbyteorder-ef923ace94ebfdce.rlib --extern itertools=/opt/rustwide/target/debug/deps/libitertools-2ab305587def37cc.rlib --extern lalrpop_util=/opt/rustwide/target/debug/deps/liblalrpop_util-cbeda90a44ea52f2.rlib --extern lazy_static=/opt/rustwide/target/debug/deps/liblazy_static-7d7e4d59d48eac89.rlib --extern log=/opt/rustwide/target/debug/deps/liblog-6c68470b9109f0a6.rlib --extern logos=/opt/rustwide/target/debug/deps/liblogos-cf38a796242f052f.rlib --extern more_collection_macros=/opt/rustwide/target/debug/deps/libmore_collection_macros-b89527bc38693098.rlib --extern num_derive=/opt/rustwide/target/debug/deps/libnum_derive-30b813c004c32018.so --extern num_traits=/opt/rustwide/target/debug/deps/libnum_traits-f7df8f8af10bccbb.rlib --extern pathdiff=/opt/rustwide/target/debug/deps/libpathdiff-e7900d468ee5b37b.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-aa4ded5cd5e87715.rlib --extern regex=/opt/rustwide/target/debug/deps/libregex-5f60dbd3dc90fe2a.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-cc2ba5efadd07097.rlib --extern serde_derive=/opt/rustwide/target/debug/deps/libserde_derive-89e24b9fc30b0039.so --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-f578026852410f21.rlib --extern simplelog=/opt/rustwide/target/debug/deps/libsimplelog-8f0cc7f5d02ae416.rlib --extern smallvec=/opt/rustwide/target/debug/deps/libsmallvec-3c1dc8c0d3b06eaf.rlib --extern static_assertions=/opt/rustwide/target/debug/deps/libstatic_assertions-1b4ac743028479c0.rlib --extern strum=/opt/rustwide/target/debug/deps/libstrum-31c6bde667de4dd1.rlib --extern strum_macros=/opt/rustwide/target/debug/deps/libstrum_macros-5a2e3a3e44d6dd6e.so --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-c7e28a1eda061dce.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "309c2be6601cad76c6fe4afc6712c8c5857d8f6a43182448fd63d1181b692f43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "309c2be6601cad76c6fe4afc6712c8c5857d8f6a43182448fd63d1181b692f43", kill_on_drop: false }`
[INFO] [stdout] 309c2be6601cad76c6fe4afc6712c8c5857d8f6a43182448fd63d1181b692f43
