[INFO] cloning repository https://github.com/Guocork/rust-compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Guocork/rust-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGuocork%2Frust-compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGuocork%2Frust-compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ca5c9f06cbf6196cc1ef3622c88cd0ee6c6241bd
[INFO] testing Guocork/rust-compiler against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGuocork%2Frust-compiler" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Guocork/rust-compiler
[INFO] finished tweaking git repo https://github.com/Guocork/rust-compiler
[INFO] tweaked toml for git repo https://github.com/Guocork/rust-compiler written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Guocork/rust-compiler on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Guocork/rust-compiler 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 110ec1bb82e9c2f3351f1eb134f59075e2b039d589ebdae6114605e5f7be8cb3
[INFO] running `Command { std: "docker" "start" "-a" "110ec1bb82e9c2f3351f1eb134f59075e2b039d589ebdae6114605e5f7be8cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "110ec1bb82e9c2f3351f1eb134f59075e2b039d589ebdae6114605e5f7be8cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "110ec1bb82e9c2f3351f1eb134f59075e2b039d589ebdae6114605e5f7be8cb3", kill_on_drop: false }`
[INFO] [stdout] 110ec1bb82e9c2f3351f1eb134f59075e2b039d589ebdae6114605e5f7be8cb3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 56c626fd33e61a9a8590dd389370c31f3543bd3e4ea29a069e175c2d43250fc8
[INFO] running `Command { std: "docker" "start" "-a" "56c626fd33e61a9a8590dd389370c31f3543bd3e4ea29a069e175c2d43250fc8", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust-compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `f32::consts::E`, and `rc::Rc`
[INFO] [stdout]   --> src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{cell::RefCell, f32::consts::E, ops::{Deref, DerefMut}, rc::Rc};
[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: `Lexer` and `TokenKind`
[INFO] [stdout]   --> src/main.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use lexer::{Lexer, TokenKind};
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/main.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let a = self.age;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/main.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let b = *age_ref;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Text` is never constructed
[INFO] [stdout]   --> src/main.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Text {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]    --> src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct Person {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `work` and `set_name` are never used
[INFO] [stdout]    --> src/main.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Person {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] 114 |     fn work(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn set_name(&mut self, new_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Employee` is never constructed
[INFO] [stdout]    --> src/main.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct Employee {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoxedPerson` is never constructed
[INFO] [stdout]    --> src/main.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct BoxedPerson(Employee);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TokenKind` is never used
[INFO] [stdout]  --> src/lexer.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum TokenKind {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextSpan` is never constructed
[INFO] [stdout]   --> src/lexer.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct TextSpan {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lexer.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TextSpan {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 104 |     pub fn new(start: usize, end: usize, literal: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]    --> src/lexer.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct Token {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lexer.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl Token {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 131 |     pub fn new(kind: TokenKind, span: TextSpan) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]    --> src/lexer.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct Lexer<'a> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lexer.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 149 |     pub fn new(input: &'a str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn next_token(&mut self) -> Option<Token> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn skip_whitespace(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn peek(&mut self) -> Option<&char> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn consume_char(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn read_identifier(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     fn handle_identifier(iden: String) -> TokenKind {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     fn read_number(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     fn handle_number(num: String) -> TokenKind {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     fn is_num_start(ch: &char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn is_identifier_start(ch: &char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     fn handle_double_char(&mut self, pun: char, single: TokenKind, double: TokenKind) -> TokenKind {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Span` is never constructed
[INFO] [stdout]  --> src/ast.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Span {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]   --> src/ast.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Statement {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]   --> src/ast.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub enum Expression {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PrefixOp` is never used
[INFO] [stdout]    --> src/ast.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum PrefixOp {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BinaryOp` is never used
[INFO] [stdout]    --> src/ast.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub enum BinaryOp {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LiteralValue` is never used
[INFO] [stdout]    --> src/ast.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub enum LiteralValue {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Type` is never used
[INFO] [stdout]    --> src/ast.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Type {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StmtVisitor` is never used
[INFO] [stdout]  --> src/visitor.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait StmtVisitor<T> { // 这里为什么要使用T 
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ExprVisitor` is never used
[INFO] [stdout]   --> src/visitor.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait ExprVisitor<T> {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] running `Command { std: "docker" "inspect" "56c626fd33e61a9a8590dd389370c31f3543bd3e4ea29a069e175c2d43250fc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56c626fd33e61a9a8590dd389370c31f3543bd3e4ea29a069e175c2d43250fc8", kill_on_drop: false }`
[INFO] [stdout] 56c626fd33e61a9a8590dd389370c31f3543bd3e4ea29a069e175c2d43250fc8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9c5970ae135b7a93b8ca851b431b83e7a072a3abf673b7ce3f8a121b7fe6f933
[INFO] running `Command { std: "docker" "start" "-a" "9c5970ae135b7a93b8ca851b431b83e7a072a3abf673b7ce3f8a121b7fe6f933", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust-compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `f32::consts::E`, and `rc::Rc`
[INFO] [stdout]   --> src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{cell::RefCell, f32::consts::E, ops::{Deref, DerefMut}, rc::Rc};
[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: `Lexer` and `TokenKind`
[INFO] [stdout]   --> src/main.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use lexer::{Lexer, TokenKind};
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/main.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let a = self.age;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/main.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let b = *age_ref;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Text` is never constructed
[INFO] [stdout]   --> src/main.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Text {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]    --> src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct Person {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `work` and `set_name` are never used
[INFO] [stdout]    --> src/main.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Person {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] 114 |     fn work(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn set_name(&mut self, new_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Employee` is never constructed
[INFO] [stdout]    --> src/main.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct Employee {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoxedPerson` is never constructed
[INFO] [stdout]    --> src/main.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct BoxedPerson(Employee);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Span` is never constructed
[INFO] [stdout]  --> src/ast.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Span {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]   --> src/ast.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Statement {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]   --> src/ast.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub enum Expression {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PrefixOp` is never used
[INFO] [stdout]    --> src/ast.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum PrefixOp {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BinaryOp` is never used
[INFO] [stdout]    --> src/ast.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub enum BinaryOp {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LiteralValue` is never used
[INFO] [stdout]    --> src/ast.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub enum LiteralValue {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Type` is never used
[INFO] [stdout]    --> src/ast.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Type {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StmtVisitor` is never used
[INFO] [stdout]  --> src/visitor.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait StmtVisitor<T> { // 这里为什么要使用T 
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ExprVisitor` is never used
[INFO] [stdout]   --> src/visitor.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait ExprVisitor<T> {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s
[INFO] running `Command { std: "docker" "inspect" "9c5970ae135b7a93b8ca851b431b83e7a072a3abf673b7ce3f8a121b7fe6f933", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c5970ae135b7a93b8ca851b431b83e7a072a3abf673b7ce3f8a121b7fe6f933", kill_on_drop: false }`
[INFO] [stdout] 9c5970ae135b7a93b8ca851b431b83e7a072a3abf673b7ce3f8a121b7fe6f933
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 51d48157c01c883243273ddc703d1c501f3075f9a77485affaf3f8b41cd20581
[INFO] running `Command { std: "docker" "start" "-a" "51d48157c01c883243273ddc703d1c501f3075f9a77485affaf3f8b41cd20581", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `cell::RefCell`, `f32::consts::E`, and `rc::Rc`
[INFO] [stderr]   --> src/main.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::{cell::RefCell, f32::consts::E, ops::{Deref, DerefMut}, rc::Rc};
[INFO] [stderr]    |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                          ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Lexer` and `TokenKind`
[INFO] [stderr]   --> src/main.rs:12:13
[INFO] [stderr]    |
[INFO] [stderr] 12 | use lexer::{Lexer, TokenKind};
[INFO] [stderr]    |             ^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> src/main.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let a = self.age;
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> src/main.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let b = *age_ref;
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Text` is never constructed
[INFO] [stderr]   --> src/main.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | struct Text {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Person` is never constructed
[INFO] [stderr]    --> src/main.rs:109:8
[INFO] [stderr]     |
[INFO] [stderr] 109 | struct Person {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `work` and `set_name` are never used
[INFO] [stderr]    --> src/main.rs:114:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | impl Person {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] 114 |     fn work(&self) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     fn set_name(&mut self, new_name: &str) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Employee` is never constructed
[INFO] [stderr]    --> src/main.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 | struct Employee {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BoxedPerson` is never constructed
[INFO] [stderr]    --> src/main.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 | struct BoxedPerson(Employee);
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Span` is never constructed
[INFO] [stderr]  --> src/ast.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Span {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Statement` is never used
[INFO] [stderr]   --> src/ast.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum Statement {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Expression` is never used
[INFO] [stderr]   --> src/ast.rs:83:10
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub enum Expression {
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `PrefixOp` is never used
[INFO] [stderr]    --> src/ast.rs:116:10
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub enum PrefixOp {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `BinaryOp` is never used
[INFO] [stderr]    --> src/ast.rs:122:10
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub enum BinaryOp {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `LiteralValue` is never used
[INFO] [stderr]    --> src/ast.rs:139:10
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub enum LiteralValue {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Type` is never used
[INFO] [stderr]    --> src/ast.rs:147:10
[INFO] [stderr]     |
[INFO] [stderr] 147 | pub enum Type {
[INFO] [stdout] 
[INFO] [stderr]     |          ^^^^
[INFO] [stdout] running 2 tests
[INFO] [stderr] 
[INFO] [stdout] test lexer::tests::test_lexer2 ... ok
[INFO] [stderr] warning: trait `StmtVisitor` is never used
[INFO] [stderr]  --> src/visitor.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub trait StmtVisitor<T> { // 这里为什么要使用T 
[INFO] [stderr]   |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ExprVisitor` is never used
[INFO] [stderr]   --> src/visitor.rs:42:11
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub trait ExprVisitor<T> {
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-compiler` (bin "rust-compiler" test) generated 18 warnings (run `cargo fix --bin "rust-compiler" -p rust-compiler --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_compiler-4ecc48b2ca263f83)
[INFO] [stderr] error: test failed, to rerun pass `--bin rust-compiler`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/rust_compiler-4ecc48b2ca263f83` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "51d48157c01c883243273ddc703d1c501f3075f9a77485affaf3f8b41cd20581", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51d48157c01c883243273ddc703d1c501f3075f9a77485affaf3f8b41cd20581", kill_on_drop: false }`
[INFO] [stdout] 51d48157c01c883243273ddc703d1c501f3075f9a77485affaf3f8b41cd20581
