[INFO] updating cached repository https://github.com/marioidival/apl [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] a6ca623aae6314d0ad0a774211a66fd7e1e5b630 [INFO] testing marioidival/apl against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarioidival%2Fapl" "/workspace/builds/worker-3/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/marioidival/apl on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/marioidival/apl [INFO] finished tweaking git repo https://github.com/marioidival/apl [INFO] tweaked toml for git repo https://github.com/marioidival/apl written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/marioidival/apl already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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=warn" "-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" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 6816257f57f9b39deab38d179af14187b51190d863b652982d7397d4741bce7a [INFO] running `"docker" "start" "-a" "6816257f57f9b39deab38d179af14187b51190d863b652982d7397d4741bce7a"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling apl v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:468:9 [INFO] [stderr] | [INFO] [stderr] 468 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:57:38 [INFO] [stderr] | [INFO] [stderr] 57 | Integer(v) => Ok(Integer((-1 * *v))), [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | Float(v) => Ok(Float((-1.0 * *v))), [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/primitive.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/object.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/builtin.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | Ok(Object::Primitive(Str(buf.trim_right_matches("\r\n").into()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/primitive.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | (Float(left), Float(right)) => (left % (*right as f64)).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/parse.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | Err(o) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left` [INFO] [stderr] --> src/primitive.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/primitive.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/token.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/tokenizer.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn init(source: &'a str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `tokenizer_into_iterator` [INFO] [stderr] --> src/tokenizer.rs:223:4 [INFO] [stderr] | [INFO] [stderr] 223 | fn tokenizer_into_iterator<'a>(source: &'a str) -> impl Iterator + 'a { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `scan` [INFO] [stderr] --> src/tokenizer.rs:229:15 [INFO] [stderr] | [INFO] [stderr] 229 | pub(crate) fn scan(source: &str) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `In` [INFO] [stderr] --> src/ast.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | In, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIn` [INFO] [stderr] --> src/ast.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | NotIn, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Integer` [INFO] [stderr] --> src/ast.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | Integer { value: i64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | Float { value: f64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Compare` [INFO] [stderr] --> src/ast.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | / Compare { [INFO] [stderr] 102 | | a: Box, [INFO] [stderr] 103 | | op: Comparison, [INFO] [stderr] 104 | | b: Box, [INFO] [stderr] 105 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BoolOp` [INFO] [stderr] --> src/ast.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | / BoolOp { [INFO] [stderr] 107 | | a: Box, [INFO] [stderr] 108 | | op: BooleanOperation, [INFO] [stderr] 109 | | b: Box, [INFO] [stderr] 110 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BinOp` [INFO] [stderr] --> src/ast.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / BinOp { [INFO] [stderr] 112 | | a: Box, [INFO] [stderr] 113 | | op: Operator, [INFO] [stderr] 114 | | b: Box, [INFO] [stderr] 115 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnOp` [INFO] [stderr] --> src/ast.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / UnOp { [INFO] [stderr] 117 | | op: UnaryOperation, [INFO] [stderr] 118 | | a: Box, [INFO] [stderr] 119 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Str` [INFO] [stderr] --> src/ast.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | / Str { [INFO] [stderr] 121 | | value: String, [INFO] [stderr] 122 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Num` [INFO] [stderr] --> src/ast.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / Num { [INFO] [stderr] 124 | | value: Number, [INFO] [stderr] 125 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IfExpression` [INFO] [stderr] --> src/ast.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | / IfExpression { [INFO] [stderr] 127 | | test: Box, [INFO] [stderr] 128 | | body: Box, [INFO] [stderr] 129 | | orelse: Box, [INFO] [stderr] 130 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / Call { [INFO] [stderr] 132 | | function: Box, [INFO] [stderr] 133 | | args: Vec, [INFO] [stderr] 134 | | keywords: Vec, [INFO] [stderr] 135 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Identifier` [INFO] [stderr] --> src/ast.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / Identifier { [INFO] [stderr] 137 | | name: String, [INFO] [stderr] 138 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `True` [INFO] [stderr] --> src/ast.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | True, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `False` [INFO] [stderr] --> src/ast.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | False, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/ast.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Break` [INFO] [stderr] --> src/ast.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | Break, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Continue` [INFO] [stderr] --> src/ast.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | Continue, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pass` [INFO] [stderr] --> src/ast.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | Pass, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Return` [INFO] [stderr] --> src/ast.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | / Return { [INFO] [stderr] 158 | | value: Option>, [INFO] [stderr] 159 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assert` [INFO] [stderr] --> src/ast.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | / Assert { [INFO] [stderr] 161 | | test: Expression, [INFO] [stderr] 162 | | msg: Option, [INFO] [stderr] 163 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assign` [INFO] [stderr] --> src/ast.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | / Assign { [INFO] [stderr] 165 | | targets: Vec, [INFO] [stderr] 166 | | value: Expression, [INFO] [stderr] 167 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | / Expr { [INFO] [stderr] 169 | | expression: Expression, [INFO] [stderr] 170 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/ast.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | Program(Program), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Statement` [INFO] [stderr] --> src/ast.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/parse.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Parser` [INFO] [stderr] --> src/parse.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct Parser { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/parse.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn init(tokens: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parser` [INFO] [stderr] --> src/parse.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | fn parser(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `statements` [INFO] [stderr] --> src/parse.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | fn statements(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_assignment` [INFO] [stderr] --> src/parse.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | fn parse_assignment(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expression` [INFO] [stderr] --> src/parse.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | fn expression(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `factor` [INFO] [stderr] --> src/parse.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | fn factor(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_print` [INFO] [stderr] --> src/parse.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | fn parse_print(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `if_expression` [INFO] [stderr] --> src/parse.rs:226:5 [INFO] [stderr] | [INFO] [stderr] 226 | fn if_expression(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `identifier` [INFO] [stderr] --> src/parse.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | fn identifier(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `consume` [INFO] [stderr] --> src/parse.rs:263:5 [INFO] [stderr] | [INFO] [stderr] 263 | fn consume(&mut self, tok: &Token) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/parse.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | fn current(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `advance` [INFO] [stderr] --> src/parse.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | fn advance(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/parse.rs:282:5 [INFO] [stderr] | [INFO] [stderr] 282 | fn peek(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expected` [INFO] [stderr] --> src/parse.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | fn expected(&self, tok: &Token) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_program` [INFO] [stderr] --> src/parse.rs:295:8 [INFO] [stderr] | [INFO] [stderr] 295 | pub fn parse_program(source: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/tokens.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub(crate) fn init(data: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_empty` [INFO] [stderr] --> src/tokens.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pos` [INFO] [stderr] --> src/tokens.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn pos(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/tokens.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/tokens.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn current(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek_ahead` [INFO] [stderr] --> src/tokens.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn peek_ahead(&self, pos: usize) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/tokens.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn peek(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `advance` [INFO] [stderr] --> src/tokens.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn advance(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_token` [INFO] [stderr] --> src/tokens.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn next_token(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidOperation` [INFO] [stderr] --> src/error.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | InvalidOperation(OperatorError, Primitive, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidType` [INFO] [stderr] --> src/error.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | InvalidType(OperatorError, Object, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OtherError` [INFO] [stderr] --> src/error.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | OtherError(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/error.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Add` [INFO] [stderr] --> src/error.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Add, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Sub` [INFO] [stderr] --> src/error.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Sub, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Mul` [INFO] [stderr] --> src/error.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Mul, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IntDiv` [INFO] [stderr] --> src/error.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | IntDiv, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RealDiv` [INFO] [stderr] --> src/error.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | RealDiv, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnarySub` [INFO] [stderr] --> src/error.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | UnarySub, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnaryPlus` [INFO] [stderr] --> src/error.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | UnaryPlus, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Negate` [INFO] [stderr] --> src/error.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | Negate, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `And` [INFO] [stderr] --> src/error.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | And, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Or` [INFO] [stderr] --> src/error.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Or, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessThan` [INFO] [stderr] --> src/error.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | LessThan, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterThan` [INFO] [stderr] --> src/error.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | GreaterThan, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessThanEqual` [INFO] [stderr] --> src/error.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | LessThanEqual, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterThanEqual` [INFO] [stderr] --> src/error.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | GreaterThanEqual, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Equal` [INFO] [stderr] --> src/error.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | Equal, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotEqual` [INFO] [stderr] --> src/error.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | NotEqual, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Is` [INFO] [stderr] --> src/error.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Is, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/error.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Module` [INFO] [stderr] --> src/error.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | Module, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/primitive.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/primitive.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn negate(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `minus` [INFO] [stderr] --> src/primitive.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn minus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `plus` [INFO] [stderr] --> src/primitive.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn plus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/primitive.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/primitive.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eq` [INFO] [stderr] --> src/primitive.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn eq(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `not_eq` [INFO] [stderr] --> src/primitive.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn not_eq(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than` [INFO] [stderr] --> src/primitive.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn less_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than_equal` [INFO] [stderr] --> src/primitive.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub fn less_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than` [INFO] [stderr] --> src/primitive.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn greater_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than_equal` [INFO] [stderr] --> src/primitive.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn greater_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is` [INFO] [stderr] --> src/primitive.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn is(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/primitive.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/primitive.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn sub(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `mul` [INFO] [stderr] --> src/primitive.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn mul(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `real_div` [INFO] [stderr] --> src/primitive.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn real_div(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `int_div` [INFO] [stderr] --> src/primitive.rs:202:5 [INFO] [stderr] | [INFO] [stderr] 202 | pub fn int_div(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `module` [INFO] [stderr] --> src/primitive.rs:210:5 [INFO] [stderr] | [INFO] [stderr] 210 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `error` [INFO] [stderr] --> src/primitive.rs:221:5 [INFO] [stderr] | [INFO] [stderr] 221 | fn error(left: &Self, right: Option<&Self>, op: OperatorError) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/interpreter.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/interpreter.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn init() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eval` [INFO] [stderr] --> src/interpreter.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn eval(&self, program: Program) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_program` [INFO] [stderr] --> src/interpreter.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | fn visit_program(&self, program: Program) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_statement` [INFO] [stderr] --> src/interpreter.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | fn visit_statement(&self, statement: Statement) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_expression` [INFO] [stderr] --> src/interpreter.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | fn visit_expression(&self, expression: Expression) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Builtin` [INFO] [stderr] --> src/object.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Builtin(Builtin), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Unit` [INFO] [stderr] --> src/object.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Unit, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Print` [INFO] [stderr] --> src/object.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Print(fn(Object) -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Input` [INFO] [stderr] --> src/object.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Input(fn() -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/object.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn negate(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_plus` [INFO] [stderr] --> src/object.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn unary_plus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_minus` [INFO] [stderr] --> src/object.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn unary_minus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/object.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `subtract` [INFO] [stderr] --> src/object.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn subtract(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multiply` [INFO] [stderr] --> src/object.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn multiply(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `int_divide` [INFO] [stderr] --> src/object.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn int_divide(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `real_divide` [INFO] [stderr] --> src/object.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn real_divide(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `module` [INFO] [stderr] --> src/object.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/object.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/object.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is` [INFO] [stderr] --> src/object.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | pub fn is(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than` [INFO] [stderr] --> src/object.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn less_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than` [INFO] [stderr] --> src/object.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn greater_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than_equal` [INFO] [stderr] --> src/object.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn less_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than_equal` [INFO] [stderr] --> src/object.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn greater_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `equal` [INFO] [stderr] --> src/object.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | pub fn equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `not_equal` [INFO] [stderr] --> src/object.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | pub fn not_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `error` [INFO] [stderr] --> src/object.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | fn error(&self, right: Option<&Self>, op: OperatorError) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/builtin.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print` [INFO] [stderr] --> src/builtin.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) fn print(data: Object) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input` [INFO] [stderr] --> src/builtin.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) fn input() -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 142 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.64s [INFO] running `"docker" "inspect" "6816257f57f9b39deab38d179af14187b51190d863b652982d7397d4741bce7a"` [INFO] running `"docker" "rm" "-f" "6816257f57f9b39deab38d179af14187b51190d863b652982d7397d4741bce7a"` [INFO] [stdout] 6816257f57f9b39deab38d179af14187b51190d863b652982d7397d4741bce7a [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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=warn" "-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" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] de1c1398a3c0b2d0d53e12c7b7e6ea6f1d803294ab354f9a699080028ff2fd42 [INFO] running `"docker" "start" "-a" "de1c1398a3c0b2d0d53e12c7b7e6ea6f1d803294ab354f9a699080028ff2fd42"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling apl v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:468:9 [INFO] [stderr] | [INFO] [stderr] 468 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:57:38 [INFO] [stderr] | [INFO] [stderr] 57 | Integer(v) => Ok(Integer((-1 * *v))), [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | Float(v) => Ok(Float((-1.0 * *v))), [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/primitive.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/object.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/builtin.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | Ok(Object::Primitive(Str(buf.trim_right_matches("\r\n").into()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/primitive.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | (Float(left), Float(right)) => (left % (*right as f64)).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/parse.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | Err(o) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left` [INFO] [stderr] --> src/primitive.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/primitive.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/token.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/tokenizer.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn init(source: &'a str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `tokenizer_into_iterator` [INFO] [stderr] --> src/tokenizer.rs:223:4 [INFO] [stderr] | [INFO] [stderr] 223 | fn tokenizer_into_iterator<'a>(source: &'a str) -> impl Iterator + 'a { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `scan` [INFO] [stderr] --> src/tokenizer.rs:229:15 [INFO] [stderr] | [INFO] [stderr] 229 | pub(crate) fn scan(source: &str) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `In` [INFO] [stderr] --> src/ast.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | In, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIn` [INFO] [stderr] --> src/ast.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | NotIn, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Integer` [INFO] [stderr] --> src/ast.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | Integer { value: i64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | Float { value: f64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Compare` [INFO] [stderr] --> src/ast.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | / Compare { [INFO] [stderr] 102 | | a: Box, [INFO] [stderr] 103 | | op: Comparison, [INFO] [stderr] 104 | | b: Box, [INFO] [stderr] 105 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BoolOp` [INFO] [stderr] --> src/ast.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | / BoolOp { [INFO] [stderr] 107 | | a: Box, [INFO] [stderr] 108 | | op: BooleanOperation, [INFO] [stderr] 109 | | b: Box, [INFO] [stderr] 110 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BinOp` [INFO] [stderr] --> src/ast.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / BinOp { [INFO] [stderr] 112 | | a: Box, [INFO] [stderr] 113 | | op: Operator, [INFO] [stderr] 114 | | b: Box, [INFO] [stderr] 115 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnOp` [INFO] [stderr] --> src/ast.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / UnOp { [INFO] [stderr] 117 | | op: UnaryOperation, [INFO] [stderr] 118 | | a: Box, [INFO] [stderr] 119 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Str` [INFO] [stderr] --> src/ast.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | / Str { [INFO] [stderr] 121 | | value: String, [INFO] [stderr] 122 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Num` [INFO] [stderr] --> src/ast.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / Num { [INFO] [stderr] 124 | | value: Number, [INFO] [stderr] 125 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IfExpression` [INFO] [stderr] --> src/ast.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | / IfExpression { [INFO] [stderr] 127 | | test: Box, [INFO] [stderr] 128 | | body: Box, [INFO] [stderr] 129 | | orelse: Box, [INFO] [stderr] 130 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / Call { [INFO] [stderr] 132 | | function: Box, [INFO] [stderr] 133 | | args: Vec, [INFO] [stderr] 134 | | keywords: Vec, [INFO] [stderr] 135 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Identifier` [INFO] [stderr] --> src/ast.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / Identifier { [INFO] [stderr] 137 | | name: String, [INFO] [stderr] 138 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `True` [INFO] [stderr] --> src/ast.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | True, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `False` [INFO] [stderr] --> src/ast.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | False, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/ast.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Break` [INFO] [stderr] --> src/ast.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | Break, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Continue` [INFO] [stderr] --> src/ast.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | Continue, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pass` [INFO] [stderr] --> src/ast.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | Pass, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Return` [INFO] [stderr] --> src/ast.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | / Return { [INFO] [stderr] 158 | | value: Option>, [INFO] [stderr] 159 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assert` [INFO] [stderr] --> src/ast.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | / Assert { [INFO] [stderr] 161 | | test: Expression, [INFO] [stderr] 162 | | msg: Option, [INFO] [stderr] 163 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assign` [INFO] [stderr] --> src/ast.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | / Assign { [INFO] [stderr] 165 | | targets: Vec, [INFO] [stderr] 166 | | value: Expression, [INFO] [stderr] 167 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | / Expr { [INFO] [stderr] 169 | | expression: Expression, [INFO] [stderr] 170 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/ast.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | Program(Program), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Statement` [INFO] [stderr] --> src/ast.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/parse.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Parser` [INFO] [stderr] --> src/parse.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct Parser { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/parse.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn init(tokens: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parser` [INFO] [stderr] --> src/parse.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | fn parser(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `statements` [INFO] [stderr] --> src/parse.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | fn statements(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_assignment` [INFO] [stderr] --> src/parse.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | fn parse_assignment(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expression` [INFO] [stderr] --> src/parse.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | fn expression(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `factor` [INFO] [stderr] --> src/parse.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | fn factor(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_print` [INFO] [stderr] --> src/parse.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | fn parse_print(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `if_expression` [INFO] [stderr] --> src/parse.rs:226:5 [INFO] [stderr] | [INFO] [stderr] 226 | fn if_expression(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `identifier` [INFO] [stderr] --> src/parse.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | fn identifier(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `consume` [INFO] [stderr] --> src/parse.rs:263:5 [INFO] [stderr] | [INFO] [stderr] 263 | fn consume(&mut self, tok: &Token) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/parse.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | fn current(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `advance` [INFO] [stderr] --> src/parse.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | fn advance(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/parse.rs:282:5 [INFO] [stderr] | [INFO] [stderr] 282 | fn peek(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expected` [INFO] [stderr] --> src/parse.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | fn expected(&self, tok: &Token) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_program` [INFO] [stderr] --> src/parse.rs:295:8 [INFO] [stderr] | [INFO] [stderr] 295 | pub fn parse_program(source: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/tokens.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub(crate) fn init(data: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_empty` [INFO] [stderr] --> src/tokens.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pos` [INFO] [stderr] --> src/tokens.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn pos(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/tokens.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/tokens.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn current(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek_ahead` [INFO] [stderr] --> src/tokens.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn peek_ahead(&self, pos: usize) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/tokens.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn peek(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `advance` [INFO] [stderr] --> src/tokens.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn advance(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_token` [INFO] [stderr] --> src/tokens.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn next_token(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidOperation` [INFO] [stderr] --> src/error.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | InvalidOperation(OperatorError, Primitive, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidType` [INFO] [stderr] --> src/error.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | InvalidType(OperatorError, Object, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OtherError` [INFO] [stderr] --> src/error.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | OtherError(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/error.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Add` [INFO] [stderr] --> src/error.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Add, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Sub` [INFO] [stderr] --> src/error.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Sub, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Mul` [INFO] [stderr] --> src/error.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Mul, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IntDiv` [INFO] [stderr] --> src/error.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | IntDiv, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RealDiv` [INFO] [stderr] --> src/error.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | RealDiv, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnarySub` [INFO] [stderr] --> src/error.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | UnarySub, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnaryPlus` [INFO] [stderr] --> src/error.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | UnaryPlus, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Negate` [INFO] [stderr] --> src/error.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | Negate, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `And` [INFO] [stderr] --> src/error.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | And, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Or` [INFO] [stderr] --> src/error.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Or, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessThan` [INFO] [stderr] --> src/error.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | LessThan, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterThan` [INFO] [stderr] --> src/error.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | GreaterThan, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessThanEqual` [INFO] [stderr] --> src/error.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | LessThanEqual, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterThanEqual` [INFO] [stderr] --> src/error.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | GreaterThanEqual, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Equal` [INFO] [stderr] --> src/error.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | Equal, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotEqual` [INFO] [stderr] --> src/error.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | NotEqual, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Is` [INFO] [stderr] --> src/error.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Is, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/error.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Module` [INFO] [stderr] --> src/error.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | Module, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/primitive.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/primitive.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn negate(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `minus` [INFO] [stderr] --> src/primitive.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn minus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `plus` [INFO] [stderr] --> src/primitive.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn plus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/primitive.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/primitive.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eq` [INFO] [stderr] --> src/primitive.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn eq(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `not_eq` [INFO] [stderr] --> src/primitive.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn not_eq(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than` [INFO] [stderr] --> src/primitive.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn less_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than_equal` [INFO] [stderr] --> src/primitive.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub fn less_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than` [INFO] [stderr] --> src/primitive.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn greater_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than_equal` [INFO] [stderr] --> src/primitive.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn greater_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is` [INFO] [stderr] --> src/primitive.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn is(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/primitive.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/primitive.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn sub(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `mul` [INFO] [stderr] --> src/primitive.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn mul(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `real_div` [INFO] [stderr] --> src/primitive.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn real_div(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `int_div` [INFO] [stderr] --> src/primitive.rs:202:5 [INFO] [stderr] | [INFO] [stderr] 202 | pub fn int_div(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `module` [INFO] [stderr] --> src/primitive.rs:210:5 [INFO] [stderr] | [INFO] [stderr] 210 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `error` [INFO] [stderr] --> src/primitive.rs:221:5 [INFO] [stderr] | [INFO] [stderr] 221 | fn error(left: &Self, right: Option<&Self>, op: OperatorError) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/interpreter.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/interpreter.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn init() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eval` [INFO] [stderr] --> src/interpreter.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn eval(&self, program: Program) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_program` [INFO] [stderr] --> src/interpreter.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | fn visit_program(&self, program: Program) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_statement` [INFO] [stderr] --> src/interpreter.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | fn visit_statement(&self, statement: Statement) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_expression` [INFO] [stderr] --> src/interpreter.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | fn visit_expression(&self, expression: Expression) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Builtin` [INFO] [stderr] --> src/object.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Builtin(Builtin), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Unit` [INFO] [stderr] --> src/object.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Unit, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Print` [INFO] [stderr] --> src/object.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Print(fn(Object) -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Input` [INFO] [stderr] --> src/object.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Input(fn() -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/object.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn negate(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_plus` [INFO] [stderr] --> src/object.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn unary_plus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_minus` [INFO] [stderr] --> src/object.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn unary_minus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/object.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `subtract` [INFO] [stderr] --> src/object.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn subtract(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multiply` [INFO] [stderr] --> src/object.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn multiply(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `int_divide` [INFO] [stderr] --> src/object.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn int_divide(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `real_divide` [INFO] [stderr] --> src/object.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn real_divide(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `module` [INFO] [stderr] --> src/object.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/object.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/object.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is` [INFO] [stderr] --> src/object.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | pub fn is(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than` [INFO] [stderr] --> src/object.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn less_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than` [INFO] [stderr] --> src/object.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn greater_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than_equal` [INFO] [stderr] --> src/object.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn less_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than_equal` [INFO] [stderr] --> src/object.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn greater_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `equal` [INFO] [stderr] --> src/object.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | pub fn equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `not_equal` [INFO] [stderr] --> src/object.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | pub fn not_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `error` [INFO] [stderr] --> src/object.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | fn error(&self, right: Option<&Self>, op: OperatorError) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/builtin.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print` [INFO] [stderr] --> src/builtin.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) fn print(data: Object) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input` [INFO] [stderr] --> src/builtin.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) fn input() -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 142 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:57:38 [INFO] [stderr] | [INFO] [stderr] 57 | Integer(v) => Ok(Integer((-1 * *v))), [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | Float(v) => Ok(Float((-1.0 * *v))), [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `Boolean` [INFO] [stderr] --> src/interpreter.rs:229:39 [INFO] [stderr] | [INFO] [stderr] 229 | use crate::primitive::Primitive::{Boolean, Float, Integer}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/builtin.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | Ok(Object::Primitive(Str(buf.trim_right_matches("\r\n").into()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/primitive.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | (Float(left), Float(right)) => (left % (*right as f64)).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/parse.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | Err(o) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left` [INFO] [stderr] --> src/primitive.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/primitive.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | let mut parser_ast = parse_program(r#"1 == 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut parser_ast = parse_program(r#"1 != 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | let mut parser_ast = parse_program(r#"1 > 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut parser_ast = parse_program(r#"1 < 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | let mut parser_ast = parse_program(r#"1 >= 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | let mut parser_ast = parse_program(r#"1 <= 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | let mut parser_ast = parse_program(r#"1 é 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | let mut parser_ast = parse_program(r#"Verdadeiro e Verdadeiro"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | let mut parser_ast = parse_program(r#"Verdadeiro e Verdadeiro"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | let mut parser_ast = parse_program(r#"nao Falso"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | let mut parser_ast = parse_program(r#"-1"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | let mut parser_ast = parse_program(r#"1"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:233:13 [INFO] [stderr] | [INFO] [stderr] 233 | let mut parser_ast = parse_program(r#"9 + 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | let mut parser_ast = parse_program(r#"9 - 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:249:13 [INFO] [stderr] | [INFO] [stderr] 249 | let mut parser_ast = parse_program(r#"9 * 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | let mut parser_ast = parse_program(r#"9 / 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:265:13 [INFO] [stderr] | [INFO] [stderr] 265 | let mut parser_ast = parse_program(r#"9 % 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/token.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `In` [INFO] [stderr] --> src/ast.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | In, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIn` [INFO] [stderr] --> src/ast.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | NotIn, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Continue` [INFO] [stderr] --> src/ast.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | Continue, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/ast.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | Program(Program), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Statement` [INFO] [stderr] --> src/ast.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_empty` [INFO] [stderr] --> src/tokens.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/tokens.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_token` [INFO] [stderr] --> src/tokens.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn next_token(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/error.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/error.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Builtin` [INFO] [stderr] --> src/object.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Builtin(Builtin), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Print` [INFO] [stderr] --> src/object.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Print(fn(Object) -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Input` [INFO] [stderr] --> src/object.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Input(fn() -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/builtin.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print` [INFO] [stderr] --> src/builtin.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) fn print(data: Object) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input` [INFO] [stderr] --> src/builtin.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) fn input() -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 43 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.24s [INFO] running `"docker" "inspect" "de1c1398a3c0b2d0d53e12c7b7e6ea6f1d803294ab354f9a699080028ff2fd42"` [INFO] running `"docker" "rm" "-f" "de1c1398a3c0b2d0d53e12c7b7e6ea6f1d803294ab354f9a699080028ff2fd42"` [INFO] [stdout] de1c1398a3c0b2d0d53e12c7b7e6ea6f1d803294ab354f9a699080028ff2fd42 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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=warn" "-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" "+1.44.0" "test" "--frozen"` [INFO] [stdout] f0e2fffda5a5872047ee410cf515b65454c5f7d3935f7cf4345b4bae0c315949 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "f0e2fffda5a5872047ee410cf515b65454c5f7d3935f7cf4345b4bae0c315949"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:57:38 [INFO] [stderr] | [INFO] [stderr] 57 | Integer(v) => Ok(Integer((-1 * *v))), [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | Float(v) => Ok(Float((-1.0 * *v))), [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `Boolean` [INFO] [stderr] --> src/interpreter.rs:229:39 [INFO] [stderr] | [INFO] [stderr] 229 | use crate::primitive::Primitive::{Boolean, Float, Integer}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/builtin.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | Ok(Object::Primitive(Str(buf.trim_right_matches("\r\n").into()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/primitive.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | (Float(left), Float(right)) => (left % (*right as f64)).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/parse.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | Err(o) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left` [INFO] [stderr] --> src/primitive.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/primitive.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | let mut parser_ast = parse_program(r#"1 == 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut parser_ast = parse_program(r#"1 != 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | let mut parser_ast = parse_program(r#"1 > 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut parser_ast = parse_program(r#"1 < 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | let mut parser_ast = parse_program(r#"1 >= 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | let mut parser_ast = parse_program(r#"1 <= 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | let mut parser_ast = parse_program(r#"1 é 0"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | let mut parser_ast = parse_program(r#"Verdadeiro e Verdadeiro"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | let mut parser_ast = parse_program(r#"Verdadeiro e Verdadeiro"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | let mut parser_ast = parse_program(r#"nao Falso"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | let mut parser_ast = parse_program(r#"-1"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | let mut parser_ast = parse_program(r#"1"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:233:13 [INFO] [stderr] | [INFO] [stderr] 233 | let mut parser_ast = parse_program(r#"9 + 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | let mut parser_ast = parse_program(r#"9 - 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:249:13 [INFO] [stderr] | [INFO] [stderr] 249 | let mut parser_ast = parse_program(r#"9 * 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | let mut parser_ast = parse_program(r#"9 / 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:265:13 [INFO] [stderr] | [INFO] [stderr] 265 | let mut parser_ast = parse_program(r#"9 % 3"#); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/token.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `In` [INFO] [stderr] --> src/ast.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | In, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIn` [INFO] [stderr] --> src/ast.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | NotIn, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Continue` [INFO] [stderr] --> src/ast.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | Continue, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/ast.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | Program(Program), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Statement` [INFO] [stderr] --> src/ast.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_empty` [INFO] [stderr] --> src/tokens.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/tokens.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:468:9 [INFO] [stderr] | [INFO] [stderr] 468 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_token` [INFO] [stderr] --> src/tokens.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn next_token(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:57:38 [INFO] [stderr] | [INFO] [stderr] 57 | Integer(v) => Ok(Integer((-1 * *v))), [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/error.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/error.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | Float(v) => Ok(Float((-1.0 * *v))), [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Builtin` [INFO] [stderr] --> src/object.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Builtin(Builtin), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Print` [INFO] [stderr] --> src/object.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Print(fn(Object) -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Input` [INFO] [stderr] --> src/object.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Input(fn() -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/builtin.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print` [INFO] [stderr] --> src/builtin.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) fn print(data: Object) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input` [INFO] [stderr] --> src/builtin.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) fn input() -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 43 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/primitive.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/object.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/builtin.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | Ok(Object::Primitive(Str(buf.trim_right_matches("\r\n").into()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/primitive.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | (Float(left), Float(right)) => (left % (*right as f64)).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/parse.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | Err(o) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left` [INFO] [stderr] --> src/primitive.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/primitive.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/token.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/tokenizer.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn init(source: &'a str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `tokenizer_into_iterator` [INFO] [stderr] --> src/tokenizer.rs:223:4 [INFO] [stderr] | [INFO] [stderr] 223 | fn tokenizer_into_iterator<'a>(source: &'a str) -> impl Iterator + 'a { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `scan` [INFO] [stderr] --> src/tokenizer.rs:229:15 [INFO] [stderr] | [INFO] [stderr] 229 | pub(crate) fn scan(source: &str) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `In` [INFO] [stderr] --> src/ast.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | In, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIn` [INFO] [stderr] --> src/ast.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | NotIn, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Integer` [INFO] [stderr] --> src/ast.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | Integer { value: i64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | Float { value: f64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Compare` [INFO] [stderr] --> src/ast.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | / Compare { [INFO] [stderr] 102 | | a: Box, [INFO] [stderr] 103 | | op: Comparison, [INFO] [stderr] 104 | | b: Box, [INFO] [stderr] 105 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BoolOp` [INFO] [stderr] --> src/ast.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | / BoolOp { [INFO] [stderr] 107 | | a: Box, [INFO] [stderr] 108 | | op: BooleanOperation, [INFO] [stderr] 109 | | b: Box, [INFO] [stderr] 110 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BinOp` [INFO] [stderr] --> src/ast.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / BinOp { [INFO] [stderr] 112 | | a: Box, [INFO] [stderr] 113 | | op: Operator, [INFO] [stderr] 114 | | b: Box, [INFO] [stderr] 115 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnOp` [INFO] [stderr] --> src/ast.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / UnOp { [INFO] [stderr] 117 | | op: UnaryOperation, [INFO] [stderr] 118 | | a: Box, [INFO] [stderr] 119 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Str` [INFO] [stderr] --> src/ast.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | / Str { [INFO] [stderr] 121 | | value: String, [INFO] [stderr] 122 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Num` [INFO] [stderr] --> src/ast.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / Num { [INFO] [stderr] 124 | | value: Number, [INFO] [stderr] 125 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IfExpression` [INFO] [stderr] --> src/ast.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | / IfExpression { [INFO] [stderr] 127 | | test: Box, [INFO] [stderr] 128 | | body: Box, [INFO] [stderr] 129 | | orelse: Box, [INFO] [stderr] 130 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / Call { [INFO] [stderr] 132 | | function: Box, [INFO] [stderr] 133 | | args: Vec, [INFO] [stderr] 134 | | keywords: Vec, [INFO] [stderr] 135 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Identifier` [INFO] [stderr] --> src/ast.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / Identifier { [INFO] [stderr] 137 | | name: String, [INFO] [stderr] 138 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `True` [INFO] [stderr] --> src/ast.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | True, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `False` [INFO] [stderr] --> src/ast.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | False, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/ast.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Break` [INFO] [stderr] --> src/ast.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | Break, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Continue` [INFO] [stderr] --> src/ast.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | Continue, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pass` [INFO] [stderr] --> src/ast.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | Pass, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Return` [INFO] [stderr] --> src/ast.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | / Return { [INFO] [stderr] 158 | | value: Option>, [INFO] [stderr] 159 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assert` [INFO] [stderr] --> src/ast.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | / Assert { [INFO] [stderr] 161 | | test: Expression, [INFO] [stderr] 162 | | msg: Option, [INFO] [stderr] 163 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assign` [INFO] [stderr] --> src/ast.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | / Assign { [INFO] [stderr] 165 | | targets: Vec, [INFO] [stderr] 166 | | value: Expression, [INFO] [stderr] 167 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | / Expr { [INFO] [stderr] 169 | | expression: Expression, [INFO] [stderr] 170 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/ast.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | Program(Program), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Statement` [INFO] [stderr] --> src/ast.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/parse.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Parser` [INFO] [stderr] --> src/parse.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct Parser { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/parse.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn init(tokens: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parser` [INFO] [stderr] --> src/parse.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | fn parser(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `statements` [INFO] [stderr] --> src/parse.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | fn statements(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_assignment` [INFO] [stderr] --> src/parse.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | fn parse_assignment(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expression` [INFO] [stderr] --> src/parse.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | fn expression(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `factor` [INFO] [stderr] --> src/parse.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | fn factor(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_print` [INFO] [stderr] --> src/parse.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | fn parse_print(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `if_expression` [INFO] [stderr] --> src/parse.rs:226:5 [INFO] [stderr] | [INFO] [stderr] 226 | fn if_expression(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `identifier` [INFO] [stderr] --> src/parse.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | fn identifier(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `consume` [INFO] [stderr] --> src/parse.rs:263:5 [INFO] [stderr] | [INFO] [stderr] 263 | fn consume(&mut self, tok: &Token) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/parse.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | fn current(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `advance` [INFO] [stderr] --> src/parse.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | fn advance(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/parse.rs:282:5 [INFO] [stderr] | [INFO] [stderr] 282 | fn peek(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expected` [INFO] [stderr] --> src/parse.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | fn expected(&self, tok: &Token) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_program` [INFO] [stderr] --> src/parse.rs:295:8 [INFO] [stderr] | [INFO] [stderr] 295 | pub fn parse_program(source: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/tokens.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub(crate) fn init(data: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_empty` [INFO] [stderr] --> src/tokens.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pos` [INFO] [stderr] --> src/tokens.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn pos(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/tokens.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/tokens.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn current(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek_ahead` [INFO] [stderr] --> src/tokens.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn peek_ahead(&self, pos: usize) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/tokens.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn peek(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `advance` [INFO] [stderr] --> src/tokens.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn advance(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_token` [INFO] [stderr] --> src/tokens.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn next_token(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidOperation` [INFO] [stderr] --> src/error.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | InvalidOperation(OperatorError, Primitive, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidType` [INFO] [stderr] --> src/error.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | InvalidType(OperatorError, Object, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OtherError` [INFO] [stderr] --> src/error.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | OtherError(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Message` [INFO] [stderr] --> src/error.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Message(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Add` [INFO] [stderr] --> src/error.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Add, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Sub` [INFO] [stderr] --> src/error.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Sub, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Mul` [INFO] [stderr] --> src/error.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Mul, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IntDiv` [INFO] [stderr] --> src/error.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | IntDiv, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RealDiv` [INFO] [stderr] --> src/error.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | RealDiv, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnarySub` [INFO] [stderr] --> src/error.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | UnarySub, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnaryPlus` [INFO] [stderr] --> src/error.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | UnaryPlus, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Negate` [INFO] [stderr] --> src/error.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | Negate, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `And` [INFO] [stderr] --> src/error.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | And, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Or` [INFO] [stderr] --> src/error.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Or, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessThan` [INFO] [stderr] --> src/error.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | LessThan, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterThan` [INFO] [stderr] --> src/error.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | GreaterThan, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessThanEqual` [INFO] [stderr] --> src/error.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | LessThanEqual, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterThanEqual` [INFO] [stderr] --> src/error.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | GreaterThanEqual, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Equal` [INFO] [stderr] --> src/error.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | Equal, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotEqual` [INFO] [stderr] --> src/error.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | NotEqual, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Is` [INFO] [stderr] --> src/error.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Is, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/error.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Module` [INFO] [stderr] --> src/error.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | Module, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/primitive.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/primitive.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn negate(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `minus` [INFO] [stderr] --> src/primitive.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn minus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `plus` [INFO] [stderr] --> src/primitive.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn plus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/primitive.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/primitive.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eq` [INFO] [stderr] --> src/primitive.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn eq(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `not_eq` [INFO] [stderr] --> src/primitive.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn not_eq(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than` [INFO] [stderr] --> src/primitive.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn less_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than_equal` [INFO] [stderr] --> src/primitive.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub fn less_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than` [INFO] [stderr] --> src/primitive.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn greater_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than_equal` [INFO] [stderr] --> src/primitive.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn greater_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is` [INFO] [stderr] --> src/primitive.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn is(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/primitive.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/primitive.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn sub(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `mul` [INFO] [stderr] --> src/primitive.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn mul(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `real_div` [INFO] [stderr] --> src/primitive.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn real_div(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `int_div` [INFO] [stderr] --> src/primitive.rs:202:5 [INFO] [stderr] | [INFO] [stderr] 202 | pub fn int_div(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `module` [INFO] [stderr] --> src/primitive.rs:210:5 [INFO] [stderr] | [INFO] [stderr] 210 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `error` [INFO] [stderr] --> src/primitive.rs:221:5 [INFO] [stderr] | [INFO] [stderr] 221 | fn error(left: &Self, right: Option<&Self>, op: OperatorError) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/interpreter.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/interpreter.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn init() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eval` [INFO] [stderr] --> src/interpreter.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn eval(&self, program: Program) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_program` [INFO] [stderr] --> src/interpreter.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | fn visit_program(&self, program: Program) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_statement` [INFO] [stderr] --> src/interpreter.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | fn visit_statement(&self, statement: Statement) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `visit_expression` [INFO] [stderr] --> src/interpreter.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | fn visit_expression(&self, expression: Expression) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Builtin` [INFO] [stderr] --> src/object.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Builtin(Builtin), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Unit` [INFO] [stderr] --> src/object.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Unit, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Print` [INFO] [stderr] --> src/object.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Print(fn(Object) -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Input` [INFO] [stderr] --> src/object.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Input(fn() -> Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/object.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn negate(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_plus` [INFO] [stderr] --> src/object.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn unary_plus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_minus` [INFO] [stderr] --> src/object.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn unary_minus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/object.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `subtract` [INFO] [stderr] --> src/object.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn subtract(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multiply` [INFO] [stderr] --> src/object.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn multiply(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `int_divide` [INFO] [stderr] --> src/object.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn int_divide(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `real_divide` [INFO] [stderr] --> src/object.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn real_divide(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `module` [INFO] [stderr] --> src/object.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/object.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/object.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is` [INFO] [stderr] --> src/object.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | pub fn is(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than` [INFO] [stderr] --> src/object.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn less_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than` [INFO] [stderr] --> src/object.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn greater_than(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `less_than_equal` [INFO] [stderr] --> src/object.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn less_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `greater_than_equal` [INFO] [stderr] --> src/object.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn greater_than_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `equal` [INFO] [stderr] --> src/object.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | pub fn equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `not_equal` [INFO] [stderr] --> src/object.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | pub fn not_equal(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `error` [INFO] [stderr] --> src/object.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | fn error(&self, right: Option<&Self>, op: OperatorError) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/builtin.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print` [INFO] [stderr] --> src/builtin.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) fn print(data: Object) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input` [INFO] [stderr] --> src/builtin.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) fn input() -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 142 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/apl-70d3b4b58cc2ab6c [INFO] [stdout] [INFO] [stdout] running 163 tests [INFO] [stdout] test interpreter::comparison::is ... ok [INFO] [stdout] test interpreter::ifexpression::if_condition_false ... ok [INFO] [stdout] test interpreter::comparison::greater_equal ... ok [INFO] [stdout] test interpreter::ifexpression::if_condition_true ... ok [INFO] [stdout] test interpreter::ifexpression::if_multi_condition ... ok [INFO] [stdout] test interpreter::unary_operation::minus ... ok [INFO] [stdout] test interpreter::unary_operation::not ... ok [INFO] [stdout] test interpreter::unary_operation::plus ... ok [INFO] [stdout] test interpreter::bool_operation::and ... ok [INFO] [stdout] test object::tests::div_int_int ... ok [INFO] [stdout] test object::tests::and ... ok [INFO] [stdout] test interpreter::binary_operation::add ... ok [INFO] [stdout] test interpreter::comparison::less_equal ... ok [INFO] [stdout] test interpreter::binary_operation::sub ... ok [INFO] [stdout] test interpreter::comparison::greater ... ok [INFO] [stdout] test object::tests::div_real_float_int ... ok [INFO] [stdout] test interpreter::comparison::equal ... ok [INFO] [stdout] test interpreter::bool_operation::or ... ok [INFO] [stdout] test interpreter::comparison::not_equal ... ok [INFO] [stdout] test object::tests::eq_int ... ok [INFO] [stdout] test object::tests::div_real_int ... ok [INFO] [stdout] test object::tests::eq_boolean ... ok [INFO] [stdout] test interpreter::binary_operation::module ... ok [INFO] [stdout] test object::tests::greater_eq_float_int ... ok [INFO] [stdout] test object::tests::greater_eq_float ... ok [INFO] [stdout] test object::tests::greater_float ... ok [INFO] [stdout] test object::tests::greater_eq_int ... ok [INFO] [stdout] test object::tests::greater_eq_int_float ... ok [INFO] [stdout] test object::tests::greater_float_int ... ok [INFO] [stdout] test object::tests::eq_int_float ... ok [INFO] [stdout] test object::tests::div_real_int_float ... ok [INFO] [stdout] test object::tests::eq_float_int ... ok [INFO] [stdout] test object::tests::div_real_float ... ok [INFO] [stdout] test object::tests::is ... ok [INFO] [stdout] test object::tests::less_int ... ok [INFO] [stdout] test object::tests::less_int_float ... ok [INFO] [stdout] test object::tests::module ... ok [INFO] [stdout] test object::tests::mul_float ... ok [INFO] [stdout] test object::tests::mul_float_int ... ok [INFO] [stdout] test object::tests::mul_int ... ok [INFO] [stdout] test object::tests::mul_int_float ... ok [INFO] [stdout] test object::tests::negate ... ok [INFO] [stdout] test object::tests::noteq_boolean ... ok [INFO] [stdout] test object::tests::noteq_float ... ok [INFO] [stdout] test object::tests::noteq_float_int ... ok [INFO] [stdout] test object::tests::noteq_int ... ok [INFO] [stdout] test object::tests::noteq_int_float ... ok [INFO] [stdout] test object::tests::or ... ok [INFO] [stdout] test object::tests::sub_float ... ok [INFO] [stdout] test object::tests::sub_float_int ... ok [INFO] [stdout] test object::tests::sub_int ... ok [INFO] [stdout] test object::tests::sub_int_float ... ok [INFO] [stdout] test object::tests::sum_float ... ok [INFO] [stdout] test object::tests::less_eq_float ... ok [INFO] [stdout] test object::tests::less_eq_float_int ... ok [INFO] [stdout] test object::tests::eq_float ... ok [INFO] [stdout] test object::tests::greater_int ... ok [INFO] [stdout] test object::tests::greater_int_float ... ok [INFO] [stdout] test object::tests::is_false_result ... ok [INFO] [stdout] test object::tests::less_eq_int ... ok [INFO] [stdout] test object::tests::less_float ... ok [INFO] [stdout] test object::tests::less_float_int ... ok [INFO] [stdout] test parse::tests::test_bin_or_comparision ... ok [INFO] [stdout] test object::tests::less_eq_int_float ... ok [INFO] [stdout] test object::tests::sum_int_float ... ok [INFO] [stdout] test object::tests::unary_minus ... ok [INFO] [stdout] test parse::tests::test_assign_int_variable ... ok [INFO] [stdout] test object::tests::sum_float_int ... ok [INFO] [stdout] test object::tests::unary_plus ... ok [INFO] [stdout] test object::tests::sum_int ... ok [INFO] [stdout] test parse::tests::bin_mod_operation ... ok [INFO] [stdout] test parse::tests::test_comparision_is ... ok [INFO] [stdout] test parse::tests::test_bin_sum_operation ... ok [INFO] [stdout] test parse::tests::test_comparision_equal_equal ... ok [INFO] [stdout] test parse::tests::test_assign_float_variable ... ok [INFO] [stdout] test interpreter::comparison::less ... ok [INFO] [stdout] test interpreter::binary_operation::mul ... ok [INFO] [stdout] test parse::tests::test_assign_string_variable ... ok [INFO] [stdout] test parse::tests::test_comparision_less ... ok [INFO] [stdout] test parse::tests::test_hello_world ... ok [INFO] [stdout] test parse::tests::test_minus_unary_operation ... ok [INFO] [stdout] test parse::tests::test_plus_unary_operation ... ok [INFO] [stdout] test parse::tests::test_comparision_less_than ... ok [INFO] [stdout] test parse::tests::test_not_unary_operation ... ok [INFO] [stdout] test primitive::tests::div_real_int_float ... ok [INFO] [stdout] test primitive::tests::eq_float_int ... ok [INFO] [stdout] test primitive::tests::eq_int ... ok [INFO] [stdout] test primitive::tests::eq_int_float ... ok [INFO] [stdout] test primitive::tests::greater_eq_float ... ok [INFO] [stdout] test primitive::tests::greater_eq_float_int ... ok [INFO] [stdout] test primitive::tests::greater_eq_int ... ok [INFO] [stdout] test primitive::tests::greater_eq_int_float ... ok [INFO] [stdout] test parse::tests::test_sum_in_print ... ok [INFO] [stdout] test primitive::tests::eq_boolean ... ok [INFO] [stdout] test primitive::tests::div_int_int ... ok [INFO] [stdout] test primitive::tests::div_real_float ... ok [INFO] [stdout] test primitive::tests::eq_float ... ok [INFO] [stdout] test primitive::tests::greater_int ... ok [INFO] [stdout] test primitive::tests::is_false_result ... ok [INFO] [stdout] test primitive::tests::greater_float_int ... ok [INFO] [stdout] test primitive::tests::greater_float ... ok [INFO] [stdout] test primitive::tests::greater_int_float ... ok [INFO] [stdout] test primitive::tests::is ... ok [INFO] [stdout] test primitive::tests::less_eq_int_float ... ok [INFO] [stdout] test primitive::tests::less_float ... ok [INFO] [stdout] test primitive::tests::less_eq_int ... ok [INFO] [stdout] test primitive::tests::less_eq_float_int ... ok [INFO] [stdout] test primitive::tests::less_int_float ... ok [INFO] [stdout] test primitive::tests::module ... ok [INFO] [stdout] test primitive::tests::mul_float ... ok [INFO] [stdout] test primitive::tests::mul_float_int ... ok [INFO] [stdout] test primitive::tests::mul_int ... ok [INFO] [stdout] test primitive::tests::mul_int_float ... ok [INFO] [stdout] test primitive::tests::noteq_boolean ... ok [INFO] [stdout] test primitive::tests::noteq_float ... ok [INFO] [stdout] test primitive::tests::noteq_float_int ... ok [INFO] [stdout] test primitive::tests::noteq_int ... ok [INFO] [stdout] test primitive::tests::or ... ok [INFO] [stdout] test primitive::tests::sub_float ... ok [INFO] [stdout] test primitive::tests::sub_float_int ... ok [INFO] [stdout] test primitive::tests::sub_int ... ok [INFO] [stdout] test primitive::tests::sub_int_float ... ok [INFO] [stdout] test primitive::tests::sum_float ... ok [INFO] [stdout] test primitive::tests::sum_float_int ... ok [INFO] [stdout] test primitive::tests::sum_int ... ok [INFO] [stdout] test primitive::tests::sum_int_float ... ok [INFO] [stdout] test primitive::tests::unary_minus ... ok [INFO] [stdout] test primitive::tests::unary_plus ... ok [INFO] [stdout] test tokenizer::scan::test_scan ... ok [INFO] [stdout] test tokenizer::scan::test_scan_code_with_more_lines ... ok [INFO] [stdout] test tokenizer::scan::test_scan_code_with_more_lines_should_ignore_comments ... ok [INFO] [stdout] test parse::tests::test_parse_empty ... ok [INFO] [stdout] test primitive::tests::div_real_float_int ... ok [INFO] [stdout] test primitive::tests::less_eq_float ... ok [INFO] [stdout] test primitive::tests::and ... ok [INFO] [stdout] test primitive::tests::noteq_int_float ... ok [INFO] [stdout] test parse::tests::test_two_hello_world ... ok [INFO] [stdout] test primitive::tests::div_real_int ... ok [INFO] [stdout] test interpreter::binary_operation::div ... ok [INFO] [stdout] test primitive::tests::negate ... ok [INFO] [stdout] test primitive::tests::less_int ... ok [INFO] [stdout] test primitive::tests::less_float_int ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_global_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_input_print_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_float ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_integers ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_logic_operators_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_advance_sum_numbers_success ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_conditional_identifiers ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_comment_cases ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_del_is_and_in_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_class_def_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_for_while_and_continue_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_composite_symbols ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_strings ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_break_continue_and_return_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_type_bool_identifiers ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_variable_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_try_except_raise_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_pass_assert_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_keywords_type_identifier ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_spaces ... ok [INFO] [stdout] test tokenizer::tests::test_scan_next_symbols_success ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 163 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/apl-526578cfc734788e [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests apl [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "f0e2fffda5a5872047ee410cf515b65454c5f7d3935f7cf4345b4bae0c315949"` [INFO] running `"docker" "rm" "-f" "f0e2fffda5a5872047ee410cf515b65454c5f7d3935f7cf4345b4bae0c315949"` [INFO] [stdout] f0e2fffda5a5872047ee410cf515b65454c5f7d3935f7cf4345b4bae0c315949