[INFO] updating cached repository https://github.com/wangbyby/alg_in_rust [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d0f702ab625fb8473558474d344c0c8d6e7b796a [INFO] checking wangbyby/alg_in_rust against try#8a5e87609850cdd8679aada01eb0f3062f254ca8 for pr-71140 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwangbyby%2Falg_in_rust" "/workspace/builds/worker-8/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wangbyby/alg_in_rust on toolchain 8a5e87609850cdd8679aada01eb0f3062f254ca8 [INFO] running `"/workspace/cargo-home/bin/cargo" "+8a5e87609850cdd8679aada01eb0f3062f254ca8" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/wangbyby/alg_in_rust [INFO] finished tweaking git repo https://github.com/wangbyby/alg_in_rust [INFO] tweaked toml for git repo https://github.com/wangbyby/alg_in_rust written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/wangbyby/alg_in_rust already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+8a5e87609850cdd8679aada01eb0f3062f254ca8" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+8a5e87609850cdd8679aada01eb0f3062f254ca8" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 03d9e0beecabaf6576c25ddf8131cafa5f661ba080d7876429c6b453ecb7264c [INFO] running `"docker" "start" "-a" "03d9e0beecabaf6576c25ddf8131cafa5f661ba080d7876429c6b453ecb7264c"` [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking monkey v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `crate::token::token` [INFO] [stderr] --> src/parser/test.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::token::token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::Any` [INFO] [stderr] --> src/parser/test.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::any::Any; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/evaluator/test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::ast` [INFO] [stderr] --> src/parser/test.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::ast; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::mylexer::lexer` [INFO] [stderr] --> src/parser/test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::mylexer::lexer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::token::token` [INFO] [stderr] --> src/parser/test.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::token::token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::Any` [INFO] [stderr] --> src/parser/test.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::any::Any; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/evaluator/test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/evaluator/evaluator.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | Box::new($b) [INFO] [stderr] | ^^^^^^^^^^^^ unreachable expression [INFO] [stderr] ... [INFO] [stderr] 33 | / match node.clone().as_ref() { //关键的一行代码 [INFO] [stderr] 34 | | Program(ref value) => return eval_program(value, &mut env) , [INFO] [stderr] 35 | | ExpressionStatement(ref value) => return eval(&value.expression,&mut env), [INFO] [stderr] 36 | | IntegerLiteral(ref value) => return new_box!(object::TheObject::Integer(value.value)), [INFO] [stderr] ... | [INFO] [stderr] 112 | | _ => return theobject_null!(), [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stderr] 114 | theobject_null!() [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/evaluator/evaluator.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | Box::new($b) [INFO] [stderr] | ^^^^^^^^^^^^ unreachable expression [INFO] [stderr] ... [INFO] [stderr] 33 | / match node.clone().as_ref() { //关键的一行代码 [INFO] [stderr] 34 | | Program(ref value) => return eval_program(value, &mut env) , [INFO] [stderr] 35 | | ExpressionStatement(ref value) => return eval(&value.expression,&mut env), [INFO] [stderr] 36 | | IntegerLiteral(ref value) => return new_box!(object::TheObject::Integer(value.value)), [INFO] [stderr] ... | [INFO] [stderr] 112 | | _ => return theobject_null!(), [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stderr] 114 | theobject_null!() [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/parser/test.rs:28:10 [INFO] [stderr] | [INFO] [stderr] 28 | for (i,(input, expected)) in tests.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `func` [INFO] [stderr] --> src/parser/test.rs:64:51 [INFO] [stderr] | [INFO] [stderr] 64 | ast::ASTNode::FuncLiteral(ref func) =>{ [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `body` [INFO] [stderr] --> src/evaluator/test.rs:178:44 [INFO] [stderr] | [INFO] [stderr] 178 | object::TheObject::Func(ref params,ref body, ref env)=>{ [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/evaluator/test.rs:178:54 [INFO] [stderr] | [INFO] [stderr] 178 | object::TheObject::Func(ref params,ref body, ref env)=>{ [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: structure field `Type` should have a snake case name [INFO] [stderr] --> src/token/token.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | pub Type: TokenType, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `type` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Literal` should have a snake case name [INFO] [stderr] --> src/token/token.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | pub Literal:String, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `literal` [INFO] [stderr] [INFO] [stderr] warning: 10 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: function is never used: `check_parse_error` [INFO] [stderr] --> src/parser/test.rs:9:4 [INFO] [stderr] | [INFO] [stderr] 9 | fn check_parse_error(p:& parser::Parser){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_eval` [INFO] [stderr] --> src/evaluator/test.rs:10:4 [INFO] [stderr] | [INFO] [stderr] 10 | fn test_eval>(input: S) ->Box{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_int_obj` [INFO] [stderr] --> src/evaluator/test.rs:19:4 [INFO] [stderr] | [INFO] [stderr] 19 | fn test_int_obj(obj:Box, expected:i64){ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_bool_obj` [INFO] [stderr] --> src/evaluator/test.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | fn test_bool_obj(obj:Box, expected:bool){ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Type` should have a snake case name [INFO] [stderr] --> src/token/token.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | pub Type: TokenType, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `type` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Literal` should have a snake case name [INFO] [stderr] --> src/token/token.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | pub Literal:String, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `literal` [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.15s [INFO] running `"docker" "inspect" "03d9e0beecabaf6576c25ddf8131cafa5f661ba080d7876429c6b453ecb7264c"` [INFO] running `"docker" "rm" "-f" "03d9e0beecabaf6576c25ddf8131cafa5f661ba080d7876429c6b453ecb7264c"` [INFO] [stdout] 03d9e0beecabaf6576c25ddf8131cafa5f661ba080d7876429c6b453ecb7264c