[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] building ytfh44/Eliza-classic against try#9a3ef2cd3ecaae3c6ef59768612837d797602a6d for pr-137044-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytfh44%2FEliza-classic" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ytfh44/Eliza-classic on toolchain 9a3ef2cd3ecaae3c6ef59768612837d797602a6d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9a3ef2cd3ecaae3c6ef59768612837d797602a6d" "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-2-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" "+9a3ef2cd3ecaae3c6ef59768612837d797602a6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+9a3ef2cd3ecaae3c6ef59768612837d797602a6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ccf292609aa47aff6a9152d435f21404da226ffe252e5f7a5691495ddd5387e9 [INFO] running `Command { std: "docker" "start" "-a" "ccf292609aa47aff6a9152d435f21404da226ffe252e5f7a5691495ddd5387e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ccf292609aa47aff6a9152d435f21404da226ffe252e5f7a5691495ddd5387e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ccf292609aa47aff6a9152d435f21404da226ffe252e5f7a5691495ddd5387e9", kill_on_drop: false }` [INFO] [stdout] ccf292609aa47aff6a9152d435f21404da226ffe252e5f7a5691495ddd5387e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+9a3ef2cd3ecaae3c6ef59768612837d797602a6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9977ca279f8523e24bd58ef4fbab08e5b0b0f8abd9370ccd66bc404e9e31702f [INFO] running `Command { std: "docker" "start" "-a" "9977ca279f8523e24bd58ef4fbab08e5b0b0f8abd9370ccd66bc404e9e31702f", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling cedarwood v0.4.6 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling jieba-rs v0.6.8 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling 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: 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>, [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: 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, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 32 | pub children: Vec, [INFO] [stdout] 33 | pub relation: Option, [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 { [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) -> 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(&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>, [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, [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 { [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 { [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 15.84s [INFO] running `Command { std: "docker" "inspect" "9977ca279f8523e24bd58ef4fbab08e5b0b0f8abd9370ccd66bc404e9e31702f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9977ca279f8523e24bd58ef4fbab08e5b0b0f8abd9370ccd66bc404e9e31702f", kill_on_drop: false }` [INFO] [stdout] 9977ca279f8523e24bd58ef4fbab08e5b0b0f8abd9370ccd66bc404e9e31702f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+9a3ef2cd3ecaae3c6ef59768612837d797602a6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a4825b0fa517448e3b2ba791c1a8d617abc8b917ac424afa80ad329faea4271d [INFO] running `Command { std: "docker" "start" "-a" "a4825b0fa517448e3b2ba791c1a8d617abc8b917ac424afa80ad329faea4271d", kill_on_drop: false }` [INFO] [stderr] Compiling 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: 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>, [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: `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: 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: 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, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 32 | pub children: Vec, [INFO] [stdout] 33 | pub relation: Option, [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 { [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) -> 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(&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>, [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, [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 { [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 { [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: 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>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.07s [INFO] running `Command { std: "docker" "inspect" "a4825b0fa517448e3b2ba791c1a8d617abc8b917ac424afa80ad329faea4271d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4825b0fa517448e3b2ba791c1a8d617abc8b917ac424afa80ad329faea4271d", kill_on_drop: false }` [INFO] [stdout] a4825b0fa517448e3b2ba791c1a8d617abc8b917ac424afa80ad329faea4271d