[INFO] updating cached repository marioidival/apl [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/marioidival/apl [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/marioidival/apl" "work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/marioidival/apl"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/marioidival/apl'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/marioidival/apl" "work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/marioidival/apl"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/marioidival/apl'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b508f29da4dc13a9d804ef2bc5331f351360bc65 [INFO] sha for GitHub repo marioidival/apl: b508f29da4dc13a9d804ef2bc5331f351360bc65 [INFO] validating manifest of marioidival/apl on toolchain master#e305df1846a6d985315917ae0c81b74af8b4e641 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of marioidival/apl on toolchain try#99a7498759a22b5684caf798a98b7e90ad9d2443 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing marioidival/apl [INFO] finished frobbing marioidival/apl [INFO] frobbed toml for marioidival/apl written to work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/marioidival/apl/Cargo.toml [INFO] started frobbing marioidival/apl [INFO] finished frobbing marioidival/apl [INFO] frobbed toml for marioidival/apl written to work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/marioidival/apl/Cargo.toml [INFO] crate marioidival/apl already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking marioidival/apl against try#99a7498759a22b5684caf798a98b7e90ad9d2443 for pr-60039-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-60039-1/worker-5/try#99a7498759a22b5684caf798a98b7e90ad9d2443:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/marioidival/apl:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] e4add3f1e3a92b5fea0e4ba92a13a80e25494b6d94091fa6d63bd93a10ea70e7 [INFO] running `"docker" "start" "-a" "e4add3f1e3a92b5fea0e4ba92a13a80e25494b6d94091fa6d63bd93a10ea70e7"` [INFO] [stderr] Checking apl v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | 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:465:9 [INFO] [stderr] | [INFO] [stderr] 465 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::Comparison::In` [INFO] [stderr] --> src/ast.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::Comparison::In; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BoolOp`, `Compare` [INFO] [stderr] --> src/ast.rs:2:30 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::ast::Expression::{BoolOp, Compare}; [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `OperatorError` [INFO] [stderr] --> src/ast.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::error::{Error, OperatorError}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Primitive::*`, `Primitive` [INFO] [stderr] --> src/ast.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::primitive::{Primitive, Primitive::*}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Expression` [INFO] [stderr] --> src/parse.rs:2:48 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::ast::{BooleanOperation, Comparison, Expression, Number, Operator, Statement, UnaryOperation}; [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:228:9 [INFO] [stderr] | [INFO] [stderr] 228 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::error::Error::OtherError` [INFO] [stderr] --> src/interpreter.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::error::Error::OtherError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/object.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::Comparison::In` [INFO] [stderr] --> src/ast.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::Comparison::In; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BoolOp`, `Compare` [INFO] [stderr] --> src/ast.rs:2:30 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::ast::Expression::{BoolOp, Compare}; [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `OperatorError` [INFO] [stderr] --> src/ast.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::error::{Error, OperatorError}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Primitive::*`, `Primitive` [INFO] [stderr] --> src/ast.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::primitive::{Primitive, Primitive::*}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Expression` [INFO] [stderr] --> src/parse.rs:2:48 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::ast::{BooleanOperation, Comparison, Expression, Number, Operator, Statement, UnaryOperation}; [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: `crate::error::Error::OtherError` [INFO] [stderr] --> src/interpreter.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::error::Error::OtherError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Boolean` [INFO] [stderr] --> src/interpreter.rs:239:39 [INFO] [stderr] | [INFO] [stderr] 239 | use crate::primitive::Primitive::{Boolean, Integer, Float}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/primitive.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | (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: unreachable pattern [INFO] [stderr] --> src/interpreter.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | _ => Err(Error::OtherError("Not Implemented yet!".into())) [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/parse.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | Err(o) => { [INFO] [stderr] | ^ help: consider prefixing 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:154:14 [INFO] [stderr] | [INFO] [stderr] 154 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_left` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/primitive.rs:154:20 [INFO] [stderr] | [INFO] [stderr] 154 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_right` [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] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TokenizerIterator` [INFO] [stderr] --> src/tokenizer.rs:208:1 [INFO] [stderr] | [INFO] [stderr] 208 | pub struct TokenizerIterator<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `tokenizer_into_iterator` [INFO] [stderr] --> src/tokenizer.rs:220:1 [INFO] [stderr] | [INFO] [stderr] 220 | 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:226:1 [INFO] [stderr] | [INFO] [stderr] 226 | pub(crate) fn scan(source: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `In` [INFO] [stderr] --> src/ast.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | In, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIn` [INFO] [stderr] --> src/ast.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | NotIn, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/ast.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Integer` [INFO] [stderr] --> src/ast.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | Integer { value: i64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | Float { value: f64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Compare` [INFO] [stderr] --> src/ast.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | / Compare { [INFO] [stderr] 107 | | a: Box, [INFO] [stderr] 108 | | op: Comparison, [INFO] [stderr] 109 | | b: Box, [INFO] [stderr] 110 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BoolOp` [INFO] [stderr] --> src/ast.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / BoolOp { [INFO] [stderr] 112 | | a: Box, [INFO] [stderr] 113 | | op: BooleanOperation, [INFO] [stderr] 114 | | b: Box, [INFO] [stderr] 115 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BinOp` [INFO] [stderr] --> src/ast.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / BinOp { [INFO] [stderr] 117 | | a: Box, [INFO] [stderr] 118 | | op: Operator, [INFO] [stderr] 119 | | b: Box, [INFO] [stderr] 120 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnOp` [INFO] [stderr] --> src/ast.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / UnOp { [INFO] [stderr] 122 | | op: UnaryOperation, [INFO] [stderr] 123 | | a: Box, [INFO] [stderr] 124 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Str` [INFO] [stderr] --> src/ast.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | / Str { [INFO] [stderr] 126 | | value: String, [INFO] [stderr] 127 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Num` [INFO] [stderr] --> src/ast.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / Num { [INFO] [stderr] 129 | | value: Number, [INFO] [stderr] 130 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IfExpression` [INFO] [stderr] --> src/ast.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / IfExpression { [INFO] [stderr] 132 | | test: Box, [INFO] [stderr] 133 | | body: Box, [INFO] [stderr] 134 | | orelse: Box, [INFO] [stderr] 135 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / Call { [INFO] [stderr] 137 | | function: Box, [INFO] [stderr] 138 | | args: Vec, [INFO] [stderr] 139 | | keywords: Vec, [INFO] [stderr] 140 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Identifier` [INFO] [stderr] --> src/ast.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | / Identifier { [INFO] [stderr] 142 | | name: String, [INFO] [stderr] 143 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `True` [INFO] [stderr] --> src/ast.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | True, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `False` [INFO] [stderr] --> src/ast.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | False, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/ast.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Break` [INFO] [stderr] --> src/ast.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | Break, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Continue` [INFO] [stderr] --> src/ast.rs:161:5 [INFO] [stderr] | [INFO] [stderr] 161 | Continue, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pass` [INFO] [stderr] --> src/ast.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | Pass, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Return` [INFO] [stderr] --> src/ast.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | / Return { [INFO] [stderr] 164 | | value: Option> [INFO] [stderr] 165 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assert` [INFO] [stderr] --> src/ast.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | / Assert { [INFO] [stderr] 167 | | test: Expression, [INFO] [stderr] 168 | | msg: Option, [INFO] [stderr] 169 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Assign` [INFO] [stderr] --> src/ast.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | / Assign { [INFO] [stderr] 171 | | targets: Vec, [INFO] [stderr] 172 | | value: Expression, [INFO] [stderr] 173 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | / Expr { [INFO] [stderr] 175 | | expression: Expression, [INFO] [stderr] 176 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/ast.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | Program(Program), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Statement` [INFO] [stderr] --> src/ast.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `ParseError` [INFO] [stderr] --> src/parse.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub enum ParseError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Parser` [INFO] [stderr] --> src/parse.rs:13:1 [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:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | fn statements(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_assignment` [INFO] [stderr] --> src/parse.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | fn parse_assignment(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expression` [INFO] [stderr] --> src/parse.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | fn expression(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `factor` [INFO] [stderr] --> src/parse.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | fn factor(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_print` [INFO] [stderr] --> src/parse.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | fn parse_print(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `identifier` [INFO] [stderr] --> src/parse.rs:206:5 [INFO] [stderr] | [INFO] [stderr] 206 | fn identifier(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `consume` [INFO] [stderr] --> src/parse.rs:220:5 [INFO] [stderr] | [INFO] [stderr] 220 | fn consume(&mut self, tok: &Token) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/parse.rs:230:5 [INFO] [stderr] | [INFO] [stderr] 230 | fn current(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `advance` [INFO] [stderr] --> src/parse.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | fn advance(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/parse.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | fn peek(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expected` [INFO] [stderr] --> src/parse.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | fn expected(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_program` [INFO] [stderr] --> src/parse.rs:249:1 [INFO] [stderr] | [INFO] [stderr] 249 | 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: enum is never used: `Error` [INFO] [stderr] --> src/error.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum Error { [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: enum is never used: `OperatorError` [INFO] [stderr] --> src/error.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub enum OperatorError { [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:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/primitive.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eq` [INFO] [stderr] --> src/primitive.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | 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:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | 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:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | 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:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | 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:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | 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:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | 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:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn is(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/primitive.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/primitive.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | pub fn sub(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `mul` [INFO] [stderr] --> src/primitive.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | 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:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | 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:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | 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:211:5 [INFO] [stderr] | [INFO] [stderr] 211 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `error` [INFO] [stderr] --> src/primitive.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | 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:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/interpreter.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn init() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eval` [INFO] [stderr] --> src/interpreter.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | 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:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | 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:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | fn visit_expression(&self, expression: Expression) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/object.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | type Result = ::std::result::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Unit` [INFO] [stderr] --> src/object.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Unit, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/object.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn negate(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_plus` [INFO] [stderr] --> src/object.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn unary_plus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unary_minus` [INFO] [stderr] --> src/object.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn unary_minus(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/object.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn add(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `subtract` [INFO] [stderr] --> src/object.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn subtract(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multiply` [INFO] [stderr] --> src/object.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | 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:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | 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:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | 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:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn module(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/object.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn and(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/object.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn or(&self, other: &Self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is` [INFO] [stderr] --> src/object.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | 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:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | 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:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | 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:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | 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:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | 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:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | 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:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | 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:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | fn error(&self, right: Option<&Self>, op: OperatorError) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/primitive.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | (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: unreachable pattern [INFO] [stderr] --> src/interpreter.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | _ => Err(Error::OtherError("Not Implemented yet!".into())) [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/parse.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | Err(o) => { [INFO] [stderr] | ^ help: consider prefixing 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:154:14 [INFO] [stderr] | [INFO] [stderr] 154 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_left` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/primitive.rs:154:20 [INFO] [stderr] | [INFO] [stderr] 154 | (left, right) => (false).into(), [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_right` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter.rs:121:13 [INFO] [stderr] | [INFO] [stderr] 121 | 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:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | 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:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | 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:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | 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:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | 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:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | 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:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | 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:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | 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:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | 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:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | 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:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | 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:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | 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:243:13 [INFO] [stderr] | [INFO] [stderr] 243 | 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:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | 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:259:13 [INFO] [stderr] | [INFO] [stderr] 259 | 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:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | 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:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | 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: `In` [INFO] [stderr] --> src/ast.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | In, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIn` [INFO] [stderr] --> src/ast.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | NotIn, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotIs` [INFO] [stderr] --> src/ast.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | NotIs, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IfExpression` [INFO] [stderr] --> src/ast.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / IfExpression { [INFO] [stderr] 132 | | test: Box, [INFO] [stderr] 133 | | body: Box, [INFO] [stderr] 134 | | orelse: Box, [INFO] [stderr] 135 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/ast.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Continue` [INFO] [stderr] --> src/ast.rs:161:5 [INFO] [stderr] | [INFO] [stderr] 161 | Continue, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/ast.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | Program(Program), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Statement` [INFO] [stderr] --> src/ast.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expected` [INFO] [stderr] --> src/parse.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | fn expected(&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: `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] Finished dev [unoptimized + debuginfo] target(s) in 2.58s [INFO] running `"docker" "inspect" "e4add3f1e3a92b5fea0e4ba92a13a80e25494b6d94091fa6d63bd93a10ea70e7"` [INFO] running `"docker" "rm" "-f" "e4add3f1e3a92b5fea0e4ba92a13a80e25494b6d94091fa6d63bd93a10ea70e7"` [INFO] [stdout] e4add3f1e3a92b5fea0e4ba92a13a80e25494b6d94091fa6d63bd93a10ea70e7