[INFO] updating cached repository SadSock/stone [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/SadSock/stone [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/SadSock/stone" "work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/SadSock/stone"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/SadSock/stone'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/SadSock/stone" "work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/SadSock/stone"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/SadSock/stone'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b966d412fd09446c0c032e26e7dc2fda5d5843a4 [INFO] sha for GitHub repo SadSock/stone: b966d412fd09446c0c032e26e7dc2fda5d5843a4 [INFO] validating manifest of SadSock/stone on toolchain master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of SadSock/stone on toolchain try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing SadSock/stone [INFO] finished frobbing SadSock/stone [INFO] frobbed toml for SadSock/stone written to work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/SadSock/stone/Cargo.toml [INFO] started frobbing SadSock/stone [INFO] finished frobbing SadSock/stone [INFO] frobbed toml for SadSock/stone written to work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/SadSock/stone/Cargo.toml [INFO] crate SadSock/stone already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking SadSock/stone against master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 for pr-59199 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-59199/worker-4/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/SadSock/stone:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 2053ca975c81c352b09b32030d5be5bd10e045179e3e96f325985ca58f7b1fc0 [INFO] running `"docker" "start" "-a" "2053ca975c81c352b09b32030d5be5bd10e045179e3e96f325985ca58f7b1fc0"` [INFO] [stderr] Checking Stone v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufReader` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::BufReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log::LogLevel` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use log::LogLevel; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::string` [INFO] [stderr] --> src/token.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::string; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::LinkedList` [INFO] [stderr] --> src/lexer.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::LinkedList; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::option::Option` [INFO] [stderr] --> src/lexer.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::option::Option; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufReader` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::BufReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log::LogLevel` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use log::LogLevel; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::string` [INFO] [stderr] --> src/token.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::string; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::LinkedList` [INFO] [stderr] --> src/lexer.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::LinkedList; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::option::Option` [INFO] [stderr] --> src/lexer.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::option::Option; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identity` [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let identity = r##"[A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]"##; // 匹配标识符 [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_identity` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/main.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let number = r#"[0-9]+"#; [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `string` [INFO] [stderr] --> src/main.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | let string = r#""(\\"|\\\\|\\n|[^"])*""#; [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `space` [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let space = r#"\s*"#; [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_space` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comment` [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let comment = r#"//.*"#; [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_comment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/lexer.rs:79:22 [INFO] [stderr] | [INFO] [stderr] 79 | Some(val) => [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_val` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/lexer.rs:157:29 [INFO] [stderr] | [INFO] [stderr] 157 | let mut tmp = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/lexer.rs:161:29 [INFO] [stderr] | [INFO] [stderr] 161 | Err(err)=> [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `identity` [INFO] [stderr] --> src/lexer.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | static identity :& 'static str = r##"[A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]"##; // 匹配标识符 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `number` [INFO] [stderr] --> src/lexer.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | static number :& 'static str = r#"[0-9]+"#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `string` [INFO] [stderr] --> src/lexer.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | static string : & 'static str = r#""(\\"|\\\\|\\n|[^"])*""#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `space` [INFO] [stderr] --> src/lexer.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | static space : & 'static str = r#"\s*"#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `comment` [INFO] [stderr] --> src/lexer.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | static comment : & 'static str = r#"//.*"#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_finish` [INFO] [stderr] --> src/lexer.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn is_finish(&mut self)->bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/lexer.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | pub fn peek(&mut self,i : usize)->::std::io::Result [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `regex_pat` [INFO] [stderr] --> src/main.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | static regex_pat : &'static str = r##"(\s*)(//.*)|("(\\"|\\\\|\\n|[^"])*")|([A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~])|([0-9]+)"##; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `Stone` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] = help: convert the identifier to snake case: `stone` [INFO] [stderr] [INFO] [stderr] warning: the `line:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:24:31 [INFO] [stderr] | [INFO] [stderr] 24 | Token::Identifier{line:line,position:position,value: ref value}=>write!(f,"line : {} position : {} type : identitifier value : {}",line,position,value) , [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_shorthand_field_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: the `position:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:24:41 [INFO] [stderr] | [INFO] [stderr] 24 | Token::Identifier{line:line,position:position,value: ref value}=>write!(f,"line : {} position : {} type : identitifier value : {}",line,position,value) , [INFO] [stderr] | ---------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `value:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:24:59 [INFO] [stderr] | [INFO] [stderr] 24 | Token::Identifier{line:line,position:position,value: ref value}=>write!(f,"line : {} position : {} type : identitifier value : {}",line,position,value) , [INFO] [stderr] | ------^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `line:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:26:34 [INFO] [stderr] | [INFO] [stderr] 26 | Token::StringLiteral{line:line,position:position,value:ref value}=>write!(f,"line : {} position : {} type : stringliteral value : {}",line,position,value), [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `position:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:26:44 [INFO] [stderr] | [INFO] [stderr] 26 | Token::StringLiteral{line:line,position:position,value:ref value}=>write!(f,"line : {} position : {} type : stringliteral value : {}",line,position,value), [INFO] [stderr] | ---------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `value:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:26:62 [INFO] [stderr] | [INFO] [stderr] 26 | Token::StringLiteral{line:line,position:position,value:ref value}=>write!(f,"line : {} position : {} type : stringliteral value : {}",line,position,value), [INFO] [stderr] | ------^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `line:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:28:34 [INFO] [stderr] | [INFO] [stderr] 28 | Token::NumberLiteral{line:line,position:position,value:value}=>write!(f,"line : {} position : {} type : numberliteral value : {}",line,position,value), [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `position:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:28:44 [INFO] [stderr] | [INFO] [stderr] 28 | Token::NumberLiteral{line:line,position:position,value:value}=>write!(f,"line : {} position : {} type : numberliteral value : {}",line,position,value), [INFO] [stderr] | ---------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `value:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:28:62 [INFO] [stderr] | [INFO] [stderr] 28 | Token::NumberLiteral{line:line,position:position,value:value}=>write!(f,"line : {} position : {} type : numberliteral value : {}",line,position,value), [INFO] [stderr] | ------^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: static variable `identity` should have an upper case name [INFO] [stderr] --> src/lexer.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | static identity :& 'static str = r##"[A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]"##; // 匹配标识符 [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `IDENTITY` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: static variable `number` should have an upper case name [INFO] [stderr] --> src/lexer.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | static number :& 'static str = r#"[0-9]+"#; [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper case: `NUMBER` [INFO] [stderr] [INFO] [stderr] warning: static variable `string` should have an upper case name [INFO] [stderr] --> src/lexer.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | static string : & 'static str = r#""(\\"|\\\\|\\n|[^"])*""#; [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper case: `STRING` [INFO] [stderr] [INFO] [stderr] warning: static variable `space` should have an upper case name [INFO] [stderr] --> src/lexer.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 14 | static space : & 'static str = r#"\s*"#; [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `SPACE` [INFO] [stderr] [INFO] [stderr] warning: static variable `comment` should have an upper case name [INFO] [stderr] --> src/lexer.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | static comment : & 'static str = r#"//.*"#; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `COMMENT` [INFO] [stderr] [INFO] [stderr] warning: static variable `patern` should have an upper case name [INFO] [stderr] --> src/lexer.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | static patern : &'static str = r##"(\s*)(//.*)|("(\\"|\\\\|\\n|[^"])*")|([A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~])|([0-9]+)"##; [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper case: `PATERN` [INFO] [stderr] [INFO] [stderr] warning: static variable `regex_pat` should have an upper case name [INFO] [stderr] --> src/main.rs:18:8 [INFO] [stderr] | [INFO] [stderr] 18 | static regex_pat : &'static str = r##"(\s*)(//.*)|("(\\"|\\\\|\\n|[^"])*")|([A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~])|([0-9]+)"##; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `REGEX_PAT` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identity` [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let identity = r##"[A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]"##; // 匹配标识符 [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_identity` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/main.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let number = r#"[0-9]+"#; [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `string` [INFO] [stderr] --> src/main.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | let string = r#""(\\"|\\\\|\\n|[^"])*""#; [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `space` [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let space = r#"\s*"#; [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_space` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comment` [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let comment = r#"//.*"#; [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_comment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/lexer.rs:79:22 [INFO] [stderr] | [INFO] [stderr] 79 | Some(val) => [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_val` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/lexer.rs:157:29 [INFO] [stderr] | [INFO] [stderr] 157 | let mut tmp = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/lexer.rs:161:29 [INFO] [stderr] | [INFO] [stderr] 161 | Err(err)=> [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `identity` [INFO] [stderr] --> src/lexer.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | static identity :& 'static str = r##"[A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]"##; // 匹配标识符 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `number` [INFO] [stderr] --> src/lexer.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | static number :& 'static str = r#"[0-9]+"#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `string` [INFO] [stderr] --> src/lexer.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | static string : & 'static str = r#""(\\"|\\\\|\\n|[^"])*""#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `space` [INFO] [stderr] --> src/lexer.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | static space : & 'static str = r#"\s*"#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `comment` [INFO] [stderr] --> src/lexer.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | static comment : & 'static str = r#"//.*"#; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_finish` [INFO] [stderr] --> src/lexer.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn is_finish(&mut self)->bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/lexer.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | pub fn peek(&mut self,i : usize)->::std::io::Result [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `regex_pat` [INFO] [stderr] --> src/main.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | static regex_pat : &'static str = r##"(\s*)(//.*)|("(\\"|\\\\|\\n|[^"])*")|([A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~])|([0-9]+)"##; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `Stone` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] = help: convert the identifier to snake case: `stone` [INFO] [stderr] [INFO] [stderr] warning: the `line:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:24:31 [INFO] [stderr] | [INFO] [stderr] 24 | Token::Identifier{line:line,position:position,value: ref value}=>write!(f,"line : {} position : {} type : identitifier value : {}",line,position,value) , [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_shorthand_field_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: the `position:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:24:41 [INFO] [stderr] | [INFO] [stderr] 24 | Token::Identifier{line:line,position:position,value: ref value}=>write!(f,"line : {} position : {} type : identitifier value : {}",line,position,value) , [INFO] [stderr] | ---------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `value:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:24:59 [INFO] [stderr] | [INFO] [stderr] 24 | Token::Identifier{line:line,position:position,value: ref value}=>write!(f,"line : {} position : {} type : identitifier value : {}",line,position,value) , [INFO] [stderr] | ------^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `line:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:26:34 [INFO] [stderr] | [INFO] [stderr] 26 | Token::StringLiteral{line:line,position:position,value:ref value}=>write!(f,"line : {} position : {} type : stringliteral value : {}",line,position,value), [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `position:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:26:44 [INFO] [stderr] | [INFO] [stderr] 26 | Token::StringLiteral{line:line,position:position,value:ref value}=>write!(f,"line : {} position : {} type : stringliteral value : {}",line,position,value), [INFO] [stderr] | ---------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `value:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:26:62 [INFO] [stderr] | [INFO] [stderr] 26 | Token::StringLiteral{line:line,position:position,value:ref value}=>write!(f,"line : {} position : {} type : stringliteral value : {}",line,position,value), [INFO] [stderr] | ------^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `line:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:28:34 [INFO] [stderr] | [INFO] [stderr] 28 | Token::NumberLiteral{line:line,position:position,value:value}=>write!(f,"line : {} position : {} type : numberliteral value : {}",line,position,value), [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `position:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:28:44 [INFO] [stderr] | [INFO] [stderr] 28 | Token::NumberLiteral{line:line,position:position,value:value}=>write!(f,"line : {} position : {} type : numberliteral value : {}",line,position,value), [INFO] [stderr] | ---------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: the `value:` in this pattern is redundant [INFO] [stderr] --> src/token.rs:28:62 [INFO] [stderr] | [INFO] [stderr] 28 | Token::NumberLiteral{line:line,position:position,value:value}=>write!(f,"line : {} position : {} type : numberliteral value : {}",line,position,value), [INFO] [stderr] | ------^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this [INFO] [stderr] [INFO] [stderr] warning: static variable `identity` should have an upper case name [INFO] [stderr] --> src/lexer.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | static identity :& 'static str = r##"[A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]"##; // 匹配标识符 [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `IDENTITY` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: static variable `number` should have an upper case name [INFO] [stderr] --> src/lexer.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | static number :& 'static str = r#"[0-9]+"#; [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper case: `NUMBER` [INFO] [stderr] [INFO] [stderr] warning: static variable `string` should have an upper case name [INFO] [stderr] --> src/lexer.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | static string : & 'static str = r#""(\\"|\\\\|\\n|[^"])*""#; [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper case: `STRING` [INFO] [stderr] [INFO] [stderr] warning: static variable `space` should have an upper case name [INFO] [stderr] --> src/lexer.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 14 | static space : & 'static str = r#"\s*"#; [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `SPACE` [INFO] [stderr] [INFO] [stderr] warning: static variable `comment` should have an upper case name [INFO] [stderr] --> src/lexer.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | static comment : & 'static str = r#"//.*"#; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `COMMENT` [INFO] [stderr] [INFO] [stderr] warning: static variable `patern` should have an upper case name [INFO] [stderr] --> src/lexer.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | static patern : &'static str = r##"(\s*)(//.*)|("(\\"|\\\\|\\n|[^"])*")|([A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~])|([0-9]+)"##; [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper case: `PATERN` [INFO] [stderr] [INFO] [stderr] warning: static variable `regex_pat` should have an upper case name [INFO] [stderr] --> src/main.rs:18:8 [INFO] [stderr] | [INFO] [stderr] 18 | static regex_pat : &'static str = r##"(\s*)(//.*)|("(\\"|\\\\|\\n|[^"])*")|([A-Z_a-z][A-Z_a-z_0-9]*|==|<=|>=|&&|\|\||[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~])|([0-9]+)"##; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `REGEX_PAT` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.70s [INFO] running `"docker" "inspect" "2053ca975c81c352b09b32030d5be5bd10e045179e3e96f325985ca58f7b1fc0"` [INFO] running `"docker" "rm" "-f" "2053ca975c81c352b09b32030d5be5bd10e045179e3e96f325985ca58f7b1fc0"` [INFO] [stdout] 2053ca975c81c352b09b32030d5be5bd10e045179e3e96f325985ca58f7b1fc0