[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#df1b9bf194c9183fb7c0604484171064069ce232 for pr-149195-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[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-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ytfh44/Eliza-classic on toolchain df1b9bf194c9183fb7c0604484171064069ce232
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+df1b9bf194c9183fb7c0604484171064069ce232" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking ytfh44/Eliza-classic against try#df1b9bf194c9183fb7c0604484171064069ce232 for pr-149195-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[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-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ytfh44/Eliza-classic on toolchain df1b9bf194c9183fb7c0604484171064069ce232
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+df1b9bf194c9183fb7c0604484171064069ce232" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cedarwood v0.4.6
[INFO] [stderr]   Downloaded jieba-rs v0.6.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 918966f9d967c4405e2a010b0cb38dece833bca4cda8f4f950ee95261d227dcc
[INFO] running `Command { std: "docker" "start" "-a" "918966f9d967c4405e2a010b0cb38dece833bca4cda8f4f950ee95261d227dcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "918966f9d967c4405e2a010b0cb38dece833bca4cda8f4f950ee95261d227dcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "918966f9d967c4405e2a010b0cb38dece833bca4cda8f4f950ee95261d227dcc", kill_on_drop: false }`
[INFO] [stdout] 918966f9d967c4405e2a010b0cb38dece833bca4cda8f4f950ee95261d227dcc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0b9893301ef95e36811f3573fa0b9a97790508d6cec62f066fc9f93925a01d7e
[INFO] running `Command { std: "docker" "start" "-a" "0b9893301ef95e36811f3573fa0b9a97790508d6cec62f066fc9f93925a01d7e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking cedarwood v0.4.6
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling jieba-rs v0.6.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: enum `NodeType` is never used
[INFO] [stdout]  --> src/eliza/compiler/lang_node.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LangNode` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct LangNode {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_child`, and `set_relation` are never used
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl LangNode {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 37 |     /// 创建新节点
[INFO] [stdout] 38 |     pub fn new(node_type: NodeType, text: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn add_child(&mut self, child: LangNode) {
[INFO] [stdout]    |            ^^^^^^^^^
[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: struct `TransformConfig` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TransformConfig {
[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: trait `Transform` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Transform {
[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: struct `PronounRule` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/clause_generator.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct PronounRule {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClauseGenerator` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/transforms/clause_generator.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ClauseGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/eliza/compiler/transforms/clause_generator.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl ClauseGenerator {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn transform_pronouns(&self, text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn extract_key_phrase(&self, text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |     fn identify_structure_type(&self, text: &str) -> StructureType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     fn identify_semantic_relation(&self, text: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     fn identify_emotion_tendency(&self, text: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     fn generate_semantic_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |     fn generate_base_clause(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     fn generate_subordinate_clause(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     fn get_connective(&self, structure_type: &StructureType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn combine_clauses(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmotionAdjuster` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/emotion_adjuster.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct EmotionAdjuster {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `identify_emotion`, and `identify_intensity` are never used
[INFO] [stdout]    --> src/eliza/compiler/transforms/emotion_adjuster.rs:16:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl EmotionAdjuster {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  16 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn identify_emotion(&self, node: &LangNode) -> Option<Emotion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn identify_intensity(&self, node: &LangNode) -> EmotionIntensity {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResponseGenerator` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/response_generator.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ResponseGenerator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `select_template` are never used
[INFO] [stdout]    --> src/eliza/compiler/transforms/response_generator.rs:14:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl ResponseGenerator {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  14 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn select_template(&self, config: &TransformConfig) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WordType` is never used
[INFO] [stdout]  --> src/eliza/compiler/word_patterns.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum WordType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelationType` is never used
[INFO] [stdout]   --> src/eliza/compiler/word_patterns.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum RelationType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenInfo` is never constructed
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct TokenInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[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: variants `Future`, `MentalHealth`, `EmotionalCrisis`, and `SuicidalThought` are never constructed
[INFO] [stdout]   --> src/eliza/types.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum Topic {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Future,          // 未来规划
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 32 |     MentalHealth,    // 心理健康
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 33 |     EmotionalCrisis, // 情感危机
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     SuicidalThought, // 自杀倾向
[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: variants `EmergencyHelp` and `EmotionalSupport` are never constructed
[INFO] [stdout]   --> src/eliza/types.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum ResponseType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 61 |     EmergencyHelp,    // 紧急帮助
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 62 |     EmotionalSupport, // 情感支持
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResponseType` 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: enum `NodeType` is never used
[INFO] [stdout]  --> src/eliza/compiler/lang_node.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LangNode` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct LangNode {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_child`, and `set_relation` are never used
[INFO] [stdout]   --> src/eliza/compiler/lang_node.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl LangNode {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 37 |     /// 创建新节点
[INFO] [stdout] 38 |     pub fn new(node_type: NodeType, text: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn add_child(&mut self, child: LangNode) {
[INFO] [stdout]    |            ^^^^^^^^^
[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: struct `TransformConfig` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TransformConfig {
[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: trait `Transform` is never used
[INFO] [stdout]   --> src/eliza/compiler/transforms/mod.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Transform {
[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: struct `PronounRule` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/clause_generator.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct PronounRule {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClauseGenerator` is never constructed
[INFO] [stdout]   --> src/eliza/compiler/transforms/clause_generator.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ClauseGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/eliza/compiler/transforms/clause_generator.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl ClauseGenerator {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn transform_pronouns(&self, text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn extract_key_phrase(&self, text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |     fn identify_structure_type(&self, text: &str) -> StructureType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     fn identify_semantic_relation(&self, text: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     fn identify_emotion_tendency(&self, text: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     fn generate_semantic_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |     fn generate_base_clause(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     fn generate_subordinate_clause(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     fn get_connective(&self, structure_type: &StructureType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn combine_clauses(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmotionAdjuster` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/emotion_adjuster.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct EmotionAdjuster {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `identify_emotion`, and `identify_intensity` are never used
[INFO] [stdout]    --> src/eliza/compiler/transforms/emotion_adjuster.rs:16:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl EmotionAdjuster {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  16 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn identify_emotion(&self, node: &LangNode) -> Option<Emotion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn identify_intensity(&self, node: &LangNode) -> EmotionIntensity {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResponseGenerator` is never constructed
[INFO] [stdout]  --> src/eliza/compiler/transforms/response_generator.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ResponseGenerator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `select_template` are never used
[INFO] [stdout]    --> src/eliza/compiler/transforms/response_generator.rs:14:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl ResponseGenerator {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  14 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn select_template(&self, config: &TransformConfig) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WordType` is never used
[INFO] [stdout]  --> src/eliza/compiler/word_patterns.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum WordType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelationType` is never used
[INFO] [stdout]   --> src/eliza/compiler/word_patterns.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum RelationType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenInfo` is never constructed
[INFO] [stdout]    --> src/eliza/compiler/word_patterns.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct TokenInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[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: variants `Future`, `MentalHealth`, `EmotionalCrisis`, and `SuicidalThought` are never constructed
[INFO] [stdout]   --> src/eliza/types.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum Topic {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Future,          // 未来规划
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 32 |     MentalHealth,    // 心理健康
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 33 |     EmotionalCrisis, // 情感危机
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     SuicidalThought, // 自杀倾向
[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: variants `EmergencyHelp` and `EmotionalSupport` are never constructed
[INFO] [stdout]   --> src/eliza/types.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum ResponseType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 61 |     EmergencyHelp,    // 紧急帮助
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 62 |     EmotionalSupport, // 情感支持
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResponseType` 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 8.86s
[INFO] running `Command { std: "docker" "inspect" "0b9893301ef95e36811f3573fa0b9a97790508d6cec62f066fc9f93925a01d7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b9893301ef95e36811f3573fa0b9a97790508d6cec62f066fc9f93925a01d7e", kill_on_drop: false }`
[INFO] [stdout] 0b9893301ef95e36811f3573fa0b9a97790508d6cec62f066fc9f93925a01d7e
