[INFO] cloning repository https://github.com/ytfh44/Eliza-classic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ytfh44/Eliza-classic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 54e65bde2afe0d057fbddbf22bdb88986c5a97d4
[INFO] checking ytfh44/Eliza-classic against try#a3dffdb3a32d0dedc198f9de7d43173f3eb6727b for pr-136303
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] fatal: could not create leading directories of '/workspace/builds/worker-4-tc2/source': No space left on device
[INFO] checking ytfh44/Eliza-classic against try#a3dffdb3a32d0dedc198f9de7d43173f3eb6727b for pr-136303
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] fatal: could not create leading directories of '/workspace/builds/worker-4-tc2/source': No space left on device
[INFO] checking ytfh44/Eliza-classic against try#a3dffdb3a32d0dedc198f9de7d43173f3eb6727b for pr-136303
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ytfh44/Eliza-classic on toolchain a3dffdb3a32d0dedc198f9de7d43173f3eb6727b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ytfh44/Eliza-classic
[INFO] finished tweaking git repo https://github.com/ytfh44/Eliza-classic
[INFO] tweaked toml for git repo https://github.com/ytfh44/Eliza-classic written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ytfh44/Eliza-classic 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" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc051fde20f6a9eb1bc85d6ef65fcfa15e1600979d9c92f7dfc34022a13c4a07
[INFO] running `Command { std: "docker" "start" "-a" "fc051fde20f6a9eb1bc85d6ef65fcfa15e1600979d9c92f7dfc34022a13c4a07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc051fde20f6a9eb1bc85d6ef65fcfa15e1600979d9c92f7dfc34022a13c4a07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc051fde20f6a9eb1bc85d6ef65fcfa15e1600979d9c92f7dfc34022a13c4a07", kill_on_drop: false }`
[INFO] [stdout] fc051fde20f6a9eb1bc85d6ef65fcfa15e1600979d9c92f7dfc34022a13c4a07
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6302c85db7ee15e26899374fc3242c6b44a3624a5a7b9b56b63797d0f3d34383
[INFO] running `Command { std: "docker" "start" "-a" "6302c85db7ee15e26899374fc3242c6b44a3624a5a7b9b56b63797d0f3d34383", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking cedarwood v0.4.6
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling jieba-rs v0.6.8
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking eliza-traditional v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/eliza/compiler/lang_node.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Emotion`, `ResponseType`, `TimeFrame`, and `Topic`
[INFO] [stdout]  --> src/eliza/compiler/transforms/clause_generator.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, ResponseType, StructureType, TimeFrame, Topic};
[INFO] [stdout]   |                           ^^^^^^^  ^^^^^^^^^^^^                 ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmotionIntensity`
[INFO] [stdout]  --> src/eliza/compiler/transforms/response_generator.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, EmotionIntensity, ResponseType, Topic};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/context.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jieba_rs::Jieba`
[INFO] [stdout]  --> src/eliza/core.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use jieba_rs::Jieba;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/passes/emotion.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/eliza/compiler/lang_node.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Emotion`, `ResponseType`, `TimeFrame`, and `Topic`
[INFO] [stdout]  --> src/eliza/compiler/transforms/clause_generator.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, ResponseType, StructureType, TimeFrame, Topic};
[INFO] [stdout]   |                           ^^^^^^^  ^^^^^^^^^^^^                 ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmotionIntensity`
[INFO] [stdout]  --> src/eliza/compiler/transforms/response_generator.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, EmotionIntensity, ResponseType, Topic};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/context.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jieba_rs::Jieba`
[INFO] [stdout]  --> src/eliza/core.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use jieba_rs::Jieba;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/passes/emotion.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eliza/compiler/transforms/emotion_adjuster.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut transformed = node.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/eliza/passes/topic.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (topic, patterns) in &topic_patterns {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `emotion_transitions` is never read
[INFO] [stdout]   --> src/eliza/compiler/transforms/emotion_adjuster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct EmotionAdjuster {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     emotion_transitions: HashMap<(Emotion, Emotion), Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eliza/compiler/transforms/emotion_adjuster.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut transformed = node.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/eliza/passes/topic.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (topic, patterns) in &topic_patterns {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `emotion_transitions` is never read
[INFO] [stdout]   --> src/eliza/compiler/transforms/emotion_adjuster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct EmotionAdjuster {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     emotion_transitions: HashMap<(Emotion, Emotion), Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/eliza/compiler/lang_node.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Emotion`, `ResponseType`, `TimeFrame`, and `Topic`
[INFO] [stdout]  --> src/eliza/compiler/transforms/clause_generator.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, ResponseType, StructureType, TimeFrame, Topic};
[INFO] [stdout]   |                           ^^^^^^^  ^^^^^^^^^^^^                 ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmotionIntensity`
[INFO] [stdout]  --> src/eliza/compiler/transforms/response_generator.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, EmotionIntensity, ResponseType, Topic};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clause_generator::ClauseGenerator`
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use clause_generator::ClauseGenerator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/context.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jieba_rs::Jieba`
[INFO] [stdout]  --> src/eliza/core.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use jieba_rs::Jieba;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/passes/emotion.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::DialogueContext`
[INFO] [stdout]  --> src/eliza/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use context::DialogueContext;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EmotionIntensity`, `Emotion`, `ResponseType`, `StructureType`, `TimeFrame`, and `Topic`
[INFO] [stdout]   --> src/eliza/mod.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use types::{Emotion, EmotionIntensity, ResponseType, StructureType, TimeFrame, Topic};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LangNodeBuilder`, `LangNode`, `NodeType`, `RelationType`, `TokenInfo`, and `WordType`
[INFO] [stdout]   --> src/eliza/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LangNode,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 18 |     LangNodeBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     NodeType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     RelationType,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     TokenInfo,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     WordType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/eliza/compiler/lang_node.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Emotion`, `ResponseType`, `TimeFrame`, and `Topic`
[INFO] [stdout]  --> src/eliza/compiler/transforms/clause_generator.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, ResponseType, StructureType, TimeFrame, Topic};
[INFO] [stdout]   |                           ^^^^^^^  ^^^^^^^^^^^^                 ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmotionIntensity`
[INFO] [stdout]  --> src/eliza/compiler/transforms/response_generator.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::eliza::types::{Emotion, EmotionIntensity, ResponseType, Topic};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clause_generator::ClauseGenerator`
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use clause_generator::ClauseGenerator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/context.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jieba_rs::Jieba`
[INFO] [stdout]  --> src/eliza/core.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use jieba_rs::Jieba;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/eliza/passes/emotion.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::DialogueContext`
[INFO] [stdout]  --> src/eliza/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use context::DialogueContext;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EmotionIntensity`, `Emotion`, `ResponseType`, `StructureType`, `TimeFrame`, and `Topic`
[INFO] [stdout]   --> src/eliza/mod.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use types::{Emotion, EmotionIntensity, ResponseType, StructureType, TimeFrame, Topic};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LangNodeBuilder`, `LangNode`, `NodeType`, `RelationType`, `TokenInfo`, and `WordType`
[INFO] [stdout]   --> src/eliza/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LangNode,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 18 |     LangNodeBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     NodeType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     RelationType,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     TokenInfo,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     WordType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eliza/compiler/transforms/emotion_adjuster.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut transformed = node.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/eliza/passes/topic.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (topic, patterns) in &topic_patterns {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Compiler {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `compile` are never used
[INFO] [stdout]   --> src/eliza/compiler/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Compiler {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn compile(&self, input: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum NodeType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Response,   // 响应节点
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Subject,    // 主语
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     Predicate,  // 谓语
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     Object,     // 宾语
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     Attribute,  // 定语
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     Adverbial,  // 状语
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     Complement, // 补语
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Word(WordType), // 词性节点
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_type`, `tokens`, and `relation` are never read
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct LangNode {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 29 |     pub node_type: NodeType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 30 |     pub text: String,
[INFO] [stdout] 31 |     pub tokens: Vec<TokenInfo>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 32 |     pub children: Vec<LangNode>,
[INFO] [stdout] 33 |     pub relation: Option<RelationType>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LangNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_relation` is never used
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl LangNode {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn set_relation(&mut self, relation: RelationType) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClauseSplit` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct ClauseSplit {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LangNodeBuilder` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct LangNodeBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build`, `split_clauses`, `is_matching_end`, `build_clause`, and `analyze_components` are never used
[INFO] [stdout]    --> src/eliza/compiler/lang_node.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout] 73  | impl LangNodeBuilder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 74  |     /// 创建新的构建器
[INFO] [stdout] 75  |     pub fn new(text: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |     pub fn build(self) -> LangNode {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn split_clauses(&self) -> Vec<ClauseSplit> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn is_matching_end(&self, end: &RelationType, start: &RelationType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn build_clause(&self, start: usize, end: usize, relation: Option<RelationType>) -> LangNode {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn analyze_components(&self, node: &mut LangNode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Renderer` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/renderer.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Renderer;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `render` are never used
[INFO] [stdout]   --> src/eliza/compiler/renderer.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl Renderer {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 6  |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn render(&self, node: &LangNode) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_input` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TransformConfig {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from_input(_input: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `transform` are never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Transform {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 24 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 25 |     fn transform(&self, node: &LangNode, config: &TransformConfig) -> LangNode;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransformPipeline` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct TransformPipeline {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_transform`, and `transform` are never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl TransformPipeline {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 41 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn add_transform<T: Transform + 'static>(&mut self, transform: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn transform(&self, node: &LangNode, config: &TransformConfig) -> LangNode {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/clause_generator.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl ClauseGenerator {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 31 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `emotion_transitions` is never read
[INFO] [stdout]   --> src/eliza/compiler/transforms/emotion_adjuster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct EmotionAdjuster {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     emotion_transitions: HashMap<(Emotion, Emotion), Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/emotion_adjuster.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl EmotionAdjuster {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/response_generator.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ResponseGenerator {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unknown`, `MentalHealth`, `Emotion`, and `General` are never constructed
[INFO] [stdout]   --> src/eliza/compiler/word_patterns.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum WordType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Unknown,      // 未知
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     MentalHealth, // 心理健康
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 26 |     Emotion,      // 情感
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     General,      // 一般
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WordType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/eliza/compiler/word_patterns.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum RelationType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 33 |     // 基本句法关系
[INFO] [stdout] 34 |     Subject,    // 主语关系
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     Predicate,  // 谓语关系
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     Object,     // 宾语关系
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 37 |     Attribute,  // 定语关系
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     Adverbial,  // 状语关系
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 39 |     Complement, // 补语关系
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Parallel,       // 同时关系
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelationType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `text`, `word_type`, and `relation_type` are never read
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct TokenInfo {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 196 |     pub text: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 197 |     pub word_type: WordType,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 198 |     pub relation_type: Option<RelationType>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub fn tokenize(text: &str) -> Vec<TokenInfo> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_word_type` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn get_word_type(word: &str) -> WordType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_relation_type` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn get_relation_type(word: &str) -> Option<RelationType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_relation_pattern` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn match_relation_pattern(text: &str, relation_type: &RelationType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_syntax` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub fn analyze_syntax(text: &str) -> Vec<(RelationType, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Future` is never constructed
[INFO] [stdout]   --> src/eliza/types.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum Topic {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Future,          // 未来规划
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Topic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eliza/compiler/transforms/emotion_adjuster.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut transformed = node.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/eliza/passes/topic.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (topic, patterns) in &topic_patterns {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Compiler {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `compile` are never used
[INFO] [stdout]   --> src/eliza/compiler/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Compiler {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn compile(&self, input: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum NodeType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Response,   // 响应节点
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Subject,    // 主语
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     Predicate,  // 谓语
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     Object,     // 宾语
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     Attribute,  // 定语
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     Adverbial,  // 状语
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     Complement, // 补语
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Word(WordType), // 词性节点
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_type`, `tokens`, and `relation` are never read
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct LangNode {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 29 |     pub node_type: NodeType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 30 |     pub text: String,
[INFO] [stdout] 31 |     pub tokens: Vec<TokenInfo>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 32 |     pub children: Vec<LangNode>,
[INFO] [stdout] 33 |     pub relation: Option<RelationType>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LangNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_relation` is never used
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl LangNode {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn set_relation(&mut self, relation: RelationType) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClauseSplit` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct ClauseSplit {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LangNodeBuilder` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct LangNodeBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build`, `split_clauses`, `is_matching_end`, `build_clause`, and `analyze_components` are never used
[INFO] [stdout]    --> src/eliza/compiler/lang_node.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout] 73  | impl LangNodeBuilder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 74  |     /// 创建新的构建器
[INFO] [stdout] 75  |     pub fn new(text: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |     pub fn build(self) -> LangNode {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn split_clauses(&self) -> Vec<ClauseSplit> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn is_matching_end(&self, end: &RelationType, start: &RelationType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn build_clause(&self, start: usize, end: usize, relation: Option<RelationType>) -> LangNode {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn analyze_components(&self, node: &mut LangNode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Renderer` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/renderer.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Renderer;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `render` are never used
[INFO] [stdout]   --> src/eliza/compiler/renderer.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl Renderer {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 6  |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn render(&self, node: &LangNode) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_input` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TransformConfig {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from_input(_input: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `transform` are never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Transform {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 24 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 25 |     fn transform(&self, node: &LangNode, config: &TransformConfig) -> LangNode;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransformPipeline` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct TransformPipeline {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_transform`, and `transform` are never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl TransformPipeline {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 41 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn add_transform<T: Transform + 'static>(&mut self, transform: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn transform(&self, node: &LangNode, config: &TransformConfig) -> LangNode {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/clause_generator.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl ClauseGenerator {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 31 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `emotion_transitions` is never read
[INFO] [stdout]   --> src/eliza/compiler/transforms/emotion_adjuster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct EmotionAdjuster {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     emotion_transitions: HashMap<(Emotion, Emotion), Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/emotion_adjuster.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl EmotionAdjuster {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/response_generator.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ResponseGenerator {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unknown`, `MentalHealth`, `Emotion`, and `General` are never constructed
[INFO] [stdout]   --> src/eliza/compiler/word_patterns.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum WordType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Unknown,      // 未知
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     MentalHealth, // 心理健康
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 26 |     Emotion,      // 情感
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     General,      // 一般
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WordType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/eliza/compiler/word_patterns.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum RelationType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 33 |     // 基本句法关系
[INFO] [stdout] 34 |     Subject,    // 主语关系
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     Predicate,  // 谓语关系
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     Object,     // 宾语关系
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 37 |     Attribute,  // 定语关系
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     Adverbial,  // 状语关系
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 39 |     Complement, // 补语关系
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Parallel,       // 同时关系
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelationType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `text`, `word_type`, and `relation_type` are never read
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct TokenInfo {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 196 |     pub text: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 197 |     pub word_type: WordType,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 198 |     pub relation_type: Option<RelationType>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub fn tokenize(text: &str) -> Vec<TokenInfo> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_word_type` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn get_word_type(word: &str) -> WordType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_relation_type` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn get_relation_type(word: &str) -> Option<RelationType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_relation_pattern` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn match_relation_pattern(text: &str, relation_type: &RelationType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_syntax` is never used
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub fn analyze_syntax(text: &str) -> Vec<(RelationType, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Future` is never constructed
[INFO] [stdout]   --> src/eliza/types.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum Topic {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Future,          // 未来规划
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Topic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.01s
[INFO] running `Command { std: "docker" "inspect" "6302c85db7ee15e26899374fc3242c6b44a3624a5a7b9b56b63797d0f3d34383", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6302c85db7ee15e26899374fc3242c6b44a3624a5a7b9b56b63797d0f3d34383", kill_on_drop: false }`
[INFO] [stdout] 6302c85db7ee15e26899374fc3242c6b44a3624a5a7b9b56b63797d0f3d34383
