[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] checking JoshuaRadin37/jodin-rs against try#93086cfebfccb79083c59d0d3b2052944bba643c for pr-146440-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaRadin37%2Fjodin-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JoshuaRadin37/jodin-rs
[INFO] finished tweaking git repo https://github.com/JoshuaRadin37/jodin-rs
[INFO] tweaked toml for git repo https://github.com/JoshuaRadin37/jodin-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JoshuaRadin37/jodin-rs on toolchain 93086cfebfccb79083c59d0d3b2052944bba643c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "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" "+93086cfebfccb79083c59d0d3b2052944bba643c" "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]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d07c87ccc3bc495e6a8e0d464ab2e38c6c1b8af820a1240ea0d21d4e97f31a1e
[INFO] running `Command { std: "docker" "start" "-a" "d07c87ccc3bc495e6a8e0d464ab2e38c6c1b8af820a1240ea0d21d4e97f31a1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d07c87ccc3bc495e6a8e0d464ab2e38c6c1b8af820a1240ea0d21d4e97f31a1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d07c87ccc3bc495e6a8e0d464ab2e38c6c1b8af820a1240ea0d21d4e97f31a1e", kill_on_drop: false }`
[INFO] [stdout] d07c87ccc3bc495e6a8e0d464ab2e38c6c1b8af820a1240ea0d21d4e97f31a1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d666503f1e0f69ebaf81e9bf02c07c427ff3e778140358598811a9e71213b1ba
[INFO] running `Command { std: "docker" "start" "-a" "d666503f1e0f69ebaf81e9bf02c07c427ff3e778140358598811a9e71213b1ba", 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]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.119
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling lock_api v0.4.6
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling siphasher v0.3.9
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]     Checking getrandom v0.2.5
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling string_cache v0.8.3
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling pico-args v0.4.2
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]    Compiling lalrpop-util v0.19.7
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]    Compiling lalrpop v0.19.7
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]    Compiling backtrace v0.3.64
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling beef v0.5.1
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling anyhow v1.0.55
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking paris v1.5.11
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking simplelog v0.11.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking bytemuck v1.7.3
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking more_collection_macros v0.2.2
[INFO] [stderr]     Checking bitfield v0.13.2
[INFO] [stderr]     Checking strum v0.23.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]     Checking libloading v0.7.3
[INFO] [stderr]    Compiling num-rational 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]     Checking addr2line v0.17.0
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking num-complex v0.4.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.7
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]    Compiling semver v1.0.6
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.7
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking logos v0.12.0
[INFO] [stderr]     Checking plotters-backend v0.3.2
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking plotters-svg v0.3.1
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking plotters v0.3.1
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking criterion-plot v0.4.4
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking jodin-benchmarks v0.1.0 (/opt/rustwide/workdir/jodin-benchmarks)
[INFO] [stderr]     Checking 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: 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: 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 32 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: 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 32 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: 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: unused variable: `pos`
[INFO] [stdout]    --> jodin-common/src/utility.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .find(|&(pos, &b)| b == b'\n')
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (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: 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: unused variable: `pos`
[INFO] [stdout]    --> jodin-common/src/utility.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .find(|&(pos, &b)| b == b'\n')
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (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]     Checking jodin-vm-plugins v0.1.0 (/opt/rustwide/workdir/jodin-vm-plugins)
[INFO] [stderr]     Checking 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: 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] [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]     Checking 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] [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]     Checking 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] [stderr] error: could not compile `jodin-rs-vm` (lib) due to 2 previous errors; 18 warnings emitted
[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] error: 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: `#[deny(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] error: 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] running `Command { std: "docker" "inspect" "d666503f1e0f69ebaf81e9bf02c07c427ff3e778140358598811a9e71213b1ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d666503f1e0f69ebaf81e9bf02c07c427ff3e778140358598811a9e71213b1ba", kill_on_drop: false }`
[INFO] [stdout] d666503f1e0f69ebaf81e9bf02c07c427ff3e778140358598811a9e71213b1ba
