[INFO] cloning repository https://github.com/liegle/jihe
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/liegle/jihe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliegle%2Fjihe", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliegle%2Fjihe'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ad55178739910e6e0b7527cdb33a5a62bbbe6b4b
[INFO] checking liegle/jihe against 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9 for pr-160391-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliegle%2Fjihe" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/liegle/jihe
[INFO] finished tweaking git repo https://github.com/liegle/jihe
[INFO] tweaked toml for git repo https://github.com/liegle/jihe written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/liegle/jihe on toolchain 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/liegle/jihe 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" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wgpu-profiler v0.27.0
[INFO] [stderr]   Downloaded glam v0.33.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3
[INFO] running `Command { std: "docker" "start" "cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking arrayvec v0.7.7
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling quick-xml v0.39.4
[INFO] [stderr]    Compiling naga v29.0.3
[INFO] [stderr]     Checking typewit v1.15.2
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking codespan-reporting v0.13.1
[INFO] [stderr]     Checking spirv v0.4.0+sdk-1.4.341.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking ash v0.38.0+1.3.281
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling wgpu-hal v29.0.3
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking glow v0.17.0
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]    Compiling wgpu-core v29.0.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking const_panic v0.2.15
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]    Compiling wgpu v29.0.3
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking ariadne v0.6.0
[INFO] [stderr]     Checking inotify v0.11.5
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking ordered-float v5.3.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking jiff v0.2.29
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking env_filter v2.0.0
[INFO] [stderr]    Compiling encase_derive_impl v0.12.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling encase_derive v0.12.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking env_logger v0.11.11
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking encase v0.12.0
[INFO] [stderr]     Checking wgpu-types v29.0.3
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking glam v0.33.1
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking wayland-protocols v0.32.13
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking gpu-allocator v0.28.0
[INFO] [stderr]     Checking jihe-shared v0.1.0 (/opt/rustwide/workdir/jihe-shared)
[INFO] [stderr]     Checking jihe-compile v0.1.0 (/opt/rustwide/workdir/jihe-compile)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> jihe-compile/src/lib.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[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: `PathBuf`
[INFO] [stdout]  --> jihe-compile/src/lib.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[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 variable: `id`
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn variable(&self, id: Id) -> f64 {
[INFO] [stdout]    |                        ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn function<'a>(&'a self, id: Id) -> &'a dyn Fn(&[f64]) -> f64 {
[INFO] [stdout]    |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:100:55
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Node::Unary { unary: syn::Unary::Neg, pos, inner } => {
[INFO] [stdout]     |                                                       ^^^ help: try ignoring the field: `pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:119:42
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 Node::Delimit { delimit, left, right, inner } => {
[INFO] [stdout]     |                                          ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:119:48
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 Node::Delimit { delimit, left, right, inner } => {
[INFO] [stdout]     |                                                ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:131:46
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 Node::Function { name: span, left, right, mut args } => {
[INFO] [stdout]     |                                              ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 Node::Function { name: span, left, right, mut args } => {
[INFO] [stdout]     |                                                    ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:222:18
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:233:18
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Report` is never used
[INFO] [stdout]   --> jihe-compile/src/lib.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | trait Report {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `found` and `span` are never read
[INFO] [stdout]  --> jihe-compile/src/lex/error.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     UnexpectedBegin {
[INFO] [stdout]   |     --------------- fields in this variant
[INFO] [stdout] 8 |         found: char,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 9 |         span: Range<usize>,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LexError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected`, `found`, and `span` are never read
[INFO] [stdout]   --> jihe-compile/src/lex/error.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     UnexpectedMid {
[INFO] [stdout]    |     ------------- fields in this variant
[INFO] [stdout] 12 |         expected: char,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 13 |         found: char,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 14 |         span: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected` and `byte` are never read
[INFO] [stdout]   --> jihe-compile/src/lex/error.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     UnexpectedEof {
[INFO] [stdout]    |     ------------- fields in this variant
[INFO] [stdout] 17 |         expected: char,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 18 |         byte: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> jihe-compile/src/lex/error.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     UnderscoreAtEnd {
[INFO] [stdout]    |     --------------- field in this variant
[INFO] [stdout] 21 |         span: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Id` is never constructed
[INFO] [stdout]   --> jihe-compile/src/sem.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Id(u32);
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Table` is never used
[INFO] [stdout]   --> jihe-compile/src/sem.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait Table {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dep` is never used
[INFO] [stdout]   --> jihe-compile/src/sem.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Dep {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Statement` is never constructed
[INFO] [stdout]   --> jihe-compile/src/sem.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Statement {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `analyze` is never used
[INFO] [stdout]   --> jihe-compile/src/sem.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Statement {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 34 |     fn analyze<T: Table>(syn: Syn, source: &str, table: &mut T) -> Result<Vec<Self>, SemError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Construct` is never constructed
[INFO] [stdout]   --> jihe-compile/src/sem.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct Construct {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Class` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  75 |   macro_rules! enum_class {
[INFO] [stdout] ...
[INFO] [stdout]  81 |           pub enum Class {
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 | / enum_class! {
[INFO] [stdout] 165 | |     Slider: Var {
[INFO] [stdout] 166 | |         from: Single,
[INFO] [stdout] 167 | |         to: Single
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dep` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:88:20
[INFO] [stdout]     |
[INFO] [stdout]  75 |   macro_rules! enum_class {
[INFO] [stdout] ...
[INFO] [stdout]  87 |           impl Class {
[INFO] [stdout]     |           ---------- method in this implementation
[INFO] [stdout]  88 |               pub fn dep(&self) -> Dep {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 | / enum_class! {
[INFO] [stdout] 165 | |     Slider: Var {
[INFO] [stdout] 166 | |         from: Single,
[INFO] [stdout] 167 | |         to: Single
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CONSTRUCTS` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:95:16
[INFO] [stdout]     |
[INFO] [stdout]  75 |   macro_rules! enum_class {
[INFO] [stdout] ...
[INFO] [stdout]  95 |           static CONSTRUCTS: LazyLock<HashMap<&'static str, Construct>> = LazyLock::new(|| {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 | / enum_class! {
[INFO] [stdout] 165 | |     Slider: Var {
[INFO] [stdout] 166 | |         from: Single,
[INFO] [stdout] 167 | |         to: Single
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FromNode` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:188:7
[INFO] [stdout]     |
[INFO] [stdout] 188 | trait FromNode: Sized {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Single` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct Single(Expr);
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Eq` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub struct Eq(Expr, Expr);
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fn` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct Fn {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Color` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Color(Expr, Expr, Expr, Expr);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SemError` is never used
[INFO] [stdout]  --> jihe-compile/src/sem/error.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) enum SemError {
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Todo` is never constructed
[INFO] [stdout]  --> jihe-compile/src/sem/expr.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Todo {}
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `variable` and `function` are never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Todo {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 12 |     // TODO: return Option
[INFO] [stdout] 13 |     fn variable(&self, id: Id) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn function<'a>(&'a self, id: Id) -> &'a dyn Fn(&[f64]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Op` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum Op {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Unary` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum Unary {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Binary` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum Binary {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `eval`, and `translate` are never used
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:56:19
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl Expr {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  56 |     pub(super) fn new<T: Table>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn eval(&self, todo: &Todo) -> f64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn translate(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |     LexError(LexError),
[INFO] [stdout]    |     -------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -     LexError(LexError),
[INFO] [stdout] 10 +     LexError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `byte` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     UnexpectedEof {
[INFO] [stdout]    |     ------------- field in this variant
[INFO] [stdout] 12 |         byte: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected`, `found`, and `span` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     UnexpectedToken {
[INFO] [stdout]    |     --------------- fields in this variant
[INFO] [stdout] 15 |         expected: TokenSet,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 16 |         found: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 17 |         span: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `prev_span`, and `span` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     DuplicatedStatementField {
[INFO] [stdout]    |     ------------------------ fields in this variant
[INFO] [stdout] 20 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 21 |         prev_span: Range<usize>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 22 |         span: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     UnaryInsideExpr {
[INFO] [stdout]    |     --------------- field in this variant
[INFO] [stdout] 25 |         span: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected`, `found`, and `span` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     DismatchDelimit {
[INFO] [stdout]    |     --------------- fields in this variant
[INFO] [stdout] 28 |         expected: Token,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 29 |         found: Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 30 |         span: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `byte` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     CommaAsBinary {
[INFO] [stdout]    |     ------------- field in this variant
[INFO] [stdout] 33 |         // comma is single byte so there's no need to use span here
[INFO] [stdout] 34 |         byte: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `primary` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/node.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Primary {
[INFO] [stdout]    |     ------- field in this variant
[INFO] [stdout] 14 |         primary: Primary,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pos` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/node.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Unary {
[INFO] [stdout]    |     ----- field in this variant
[INFO] [stdout] 17 |         unary: Unary,
[INFO] [stdout] 18 |         pos: Range<usize>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos` and `left` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/node.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Binary {
[INFO] [stdout]    |     ------ fields in this variant
[INFO] [stdout] 22 |         binary: Binary,
[INFO] [stdout] 23 |         pos: Range<usize>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 24 |         left: Box<Node>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `delimit`, `left`, `right`, and `inner` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/node.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Delimit {
[INFO] [stdout]    |     ------- fields in this variant
[INFO] [stdout] 28 |         delimit: Delimit,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 29 |         left: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 30 |         right: Range<usize>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 31 |         inner: Box<Node>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `left`, `right`, and `args` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/node.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Function {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 34 |         name: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 35 |         left: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 36 |         right: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 37 |         args: Vec<Node>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/node.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     Num(Range<usize>),
[INFO] [stdout]    |     --- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Primary` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 43 -     Num(Range<usize>),
[INFO] [stdout] 43 +     Num(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/node.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Var(Range<usize>),
[INFO] [stdout]    |     --- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Primary` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 44 -     Var(Range<usize>),
[INFO] [stdout] 44 +     Var(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `class`, and `fields` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/tree.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) struct Tree<'src> {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 14 |     pub(crate) name: Range<usize>,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 15 |     pub(crate) class: Range<usize>,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 16 |     pub(crate) fields: Fields<'src>,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/tree.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Named(HashMap<&'src str, Spanned<Node>>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fields` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 32 -     Named(HashMap<&'src str, Spanned<Node>>),
[INFO] [stdout] 32 +     Named(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/tree.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Unnamed(Vec<Spanned<Node>>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fields` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 33 -     Unnamed(Vec<Spanned<Node>>),
[INFO] [stdout] 33 +     Unnamed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn variable(&self, id: Id) -> f64 {
[INFO] [stdout]    |                        ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn function<'a>(&'a self, id: Id) -> &'a dyn Fn(&[f64]) -> f64 {
[INFO] [stdout]    |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:100:55
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Node::Unary { unary: syn::Unary::Neg, pos, inner } => {
[INFO] [stdout]     |                                                       ^^^ help: try ignoring the field: `pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:119:42
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 Node::Delimit { delimit, left, right, inner } => {
[INFO] [stdout]     |                                          ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:119:48
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 Node::Delimit { delimit, left, right, inner } => {
[INFO] [stdout]     |                                                ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:131:46
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 Node::Function { name: span, left, right, mut args } => {
[INFO] [stdout]     |                                              ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 Node::Function { name: span, left, right, mut args } => {
[INFO] [stdout]     |                                                    ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:222:18
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> jihe-compile/src/sem.rs:233:18
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn from_node(node: Node) -> Option<Self> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Report` is never used
[INFO] [stdout]   --> jihe-compile/src/lib.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | trait Report {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected` is never read
[INFO] [stdout]   --> jihe-compile/src/lex/error.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     UnexpectedMid {
[INFO] [stdout]    |     ------------- field in this variant
[INFO] [stdout] 12 |         expected: char,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Id` is never constructed
[INFO] [stdout]   --> jihe-compile/src/sem.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Id(u32);
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Table` is never used
[INFO] [stdout]   --> jihe-compile/src/sem.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait Table {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dep` is never used
[INFO] [stdout]   --> jihe-compile/src/sem.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Dep {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Statement` is never constructed
[INFO] [stdout]   --> jihe-compile/src/sem.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Statement {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `analyze` is never used
[INFO] [stdout]   --> jihe-compile/src/sem.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Statement {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 34 |     fn analyze<T: Table>(syn: Syn, source: &str, table: &mut T) -> Result<Vec<Self>, SemError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Construct` is never constructed
[INFO] [stdout]   --> jihe-compile/src/sem.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct Construct {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Class` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  75 |   macro_rules! enum_class {
[INFO] [stdout] ...
[INFO] [stdout]  81 |           pub enum Class {
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 | / enum_class! {
[INFO] [stdout] 165 | |     Slider: Var {
[INFO] [stdout] 166 | |         from: Single,
[INFO] [stdout] 167 | |         to: Single
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dep` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:88:20
[INFO] [stdout]     |
[INFO] [stdout]  75 |   macro_rules! enum_class {
[INFO] [stdout] ...
[INFO] [stdout]  87 |           impl Class {
[INFO] [stdout]     |           ---------- method in this implementation
[INFO] [stdout]  88 |               pub fn dep(&self) -> Dep {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 | / enum_class! {
[INFO] [stdout] 165 | |     Slider: Var {
[INFO] [stdout] 166 | |         from: Single,
[INFO] [stdout] 167 | |         to: Single
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CONSTRUCTS` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:95:16
[INFO] [stdout]     |
[INFO] [stdout]  75 |   macro_rules! enum_class {
[INFO] [stdout] ...
[INFO] [stdout]  95 |           static CONSTRUCTS: LazyLock<HashMap<&'static str, Construct>> = LazyLock::new(|| {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 | / enum_class! {
[INFO] [stdout] 165 | |     Slider: Var {
[INFO] [stdout] 166 | |         from: Single,
[INFO] [stdout] 167 | |         to: Single
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FromNode` is never used
[INFO] [stdout]    --> jihe-compile/src/sem.rs:188:7
[INFO] [stdout]     |
[INFO] [stdout] 188 | trait FromNode: Sized {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Single` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct Single(Expr);
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Eq` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub struct Eq(Expr, Expr);
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fn` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct Fn {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Color` is never constructed
[INFO] [stdout]    --> jihe-compile/src/sem.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Color(Expr, Expr, Expr, Expr);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SemError` is never used
[INFO] [stdout]  --> jihe-compile/src/sem/error.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) enum SemError {
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Todo` is never constructed
[INFO] [stdout]  --> jihe-compile/src/sem/expr.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Todo {}
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `variable` and `function` are never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Todo {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 12 |     // TODO: return Option
[INFO] [stdout] 13 |     fn variable(&self, id: Id) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn function<'a>(&'a self, id: Id) -> &'a dyn Fn(&[f64]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Op` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum Op {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Unary` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum Unary {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Binary` is never used
[INFO] [stdout]   --> jihe-compile/src/sem/expr.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum Binary {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `eval`, and `translate` are never used
[INFO] [stdout]    --> jihe-compile/src/sem/expr.rs:56:19
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl Expr {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  56 |     pub(super) fn new<T: Table>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn eval(&self, todo: &Todo) -> f64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn translate(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |     LexError(LexError),
[INFO] [stdout]    |     -------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -     LexError(LexError),
[INFO] [stdout] 10 +     LexError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `byte` is never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     UnexpectedEof {
[INFO] [stdout]    |     ------------- field in this variant
[INFO] [stdout] 12 |         byte: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected`, `found`, and `span` are never read
[INFO] [stdout]   --> jihe-compile/src/syn/error.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     UnexpectedToken {
[INFO] [stdout]    |     --------------- fields in this variant
[INFO] [stdout] 15 |         expected: TokenSet,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 16 |         found: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 17 |         span: Range<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking wgpu-naga-bridge v29.0.3
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v29.0.3
[INFO] [stderr]     Checking jihe-render v0.1.0 (/opt/rustwide/workdir/jihe-render)
[INFO] [stderr]     Checking jihe v0.1.0 (/opt/rustwide/workdir/jihe-app)
[INFO] [stdout] warning: overflow evaluating the requirement `{closure@jihe-app/src/render.rs:48:27: 48:34}: Send`
[INFO] [stdout]   --> jihe-app/src/render.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 | /             thread::spawn(move || {
[INFO] [stdout] 49 | |                 rt.block_on(run(
[INFO] [stdout] 50 | |                     render,
[INFO] [stdout] 51 | |                     sender,
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |                 ))
[INFO] [stdout] 56 | |             })
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: which requires `(Runtime, jihe_render::Render<Window>, UnboundedSender<render::Task>, UnboundedReceiver<render::Task>, u64, u64): Send`
[INFO] [stdout]    = note: which requires `jihe_render::Render<Window>: Send`
[INFO] [stdout]    = note: which requires `jihe_render::point::Point: Send`
[INFO] [stdout]    = note: which requires `wgpu::api::render_pipeline::RenderPipeline: Send`
[INFO] [stdout]    = note: which requires `wgpu::dispatch::DispatchRenderPipeline: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu::backend::wgpu_core::CoreRenderPipeline>: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::CoreRenderPipeline: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu_core::global::Global>: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::global::Global: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::hub::Hub: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::registry::Registry<Arc<wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::lock::vanilla::RwLock<wgpu_core::storage::Storage<Arc<wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu_core::storage::Storage<Arc<wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::storage::Storage<Arc<wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: and so on...
[INFO] [stdout]    = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]    = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`jihe`)
[INFO] [stdout]    = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]    = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: overflow evaluating the requirement `{closure@jihe-app/src/render.rs:48:27: 48:34}: Send`
[INFO] [stdout]   --> jihe-app/src/render.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 | /             thread::spawn(move || {
[INFO] [stdout] 49 | |                 rt.block_on(run(
[INFO] [stdout] 50 | |                     render,
[INFO] [stdout] 51 | |                     sender,
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |                 ))
[INFO] [stdout] 56 | |             })
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: which requires `(Runtime, jihe_render::Render<Window>, UnboundedSender<render::Task>, UnboundedReceiver<render::Task>, u64, u64): Send`
[INFO] [stdout]    = note: which requires `jihe_render::Render<Window>: Send`
[INFO] [stdout]    = note: which requires `jihe_render::point::Point: Send`
[INFO] [stdout]    = note: which requires `wgpu::api::render_pipeline::RenderPipeline: Send`
[INFO] [stdout]    = note: which requires `wgpu::dispatch::DispatchRenderPipeline: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu::backend::wgpu_core::CoreRenderPipeline>: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::CoreRenderPipeline: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu_core::global::Global>: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::global::Global: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::hub::Hub: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::registry::Registry<Arc<wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::lock::vanilla::RwLock<wgpu_core::storage::Storage<Arc<wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu_core::storage::Storage<Arc<wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `wgpu_core::storage::Storage<Arc<wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: and so on...
[INFO] [stdout]    = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]    = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`jihe`)
[INFO] [stdout]    = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]    = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `log`
[INFO] [stderr]   --> jihe-compile/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | log         = { workspace = true, }
[INFO] [stderr]    | ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `log`
[INFO] [stderr] warning: `jihe-compile` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s
[INFO] running `Command { std: "docker" "inspect" "cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3", kill_on_drop: false }`
[INFO] [stdout] cd1f6c5151f8fcd42e6809a8719c543133df4aecafa6dcee3244121c9d1984d3
