[INFO] updating cached repository df5602/interpreter_tutorial [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/df5602/interpreter_tutorial [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/df5602/interpreter_tutorial" "work/ex/clippy-test-run/sources/stable/gh/df5602/interpreter_tutorial"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/df5602/interpreter_tutorial'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/df5602/interpreter_tutorial" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/df5602/interpreter_tutorial"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/df5602/interpreter_tutorial'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 56cce21a7c0ad1d6cbf3bcc5751fc2196ae345b2 [INFO] sha for GitHub repo df5602/interpreter_tutorial: 56cce21a7c0ad1d6cbf3bcc5751fc2196ae345b2 [INFO] validating manifest of df5602/interpreter_tutorial on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of df5602/interpreter_tutorial on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing df5602/interpreter_tutorial [INFO] finished frobbing df5602/interpreter_tutorial [INFO] frobbed toml for df5602/interpreter_tutorial written to work/ex/clippy-test-run/sources/stable/gh/df5602/interpreter_tutorial/Cargo.toml [INFO] started frobbing df5602/interpreter_tutorial [INFO] finished frobbing df5602/interpreter_tutorial [INFO] frobbed toml for df5602/interpreter_tutorial written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/df5602/interpreter_tutorial/Cargo.toml [INFO] crate df5602/interpreter_tutorial has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting df5602/interpreter_tutorial against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/df5602/interpreter_tutorial:/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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 11c3ef8adcf19193cef8b1ecbf93655b8a80d5bd5fca7106b6505799851dcd9f [INFO] running `"docker" "start" "-a" "11c3ef8adcf19193cef8b1ecbf93655b8a80d5bd5fca7106b6505799851dcd9f"` [INFO] [stderr] Checking leftpad v0.2.0 [INFO] [stderr] Checking interpreter_tutorial v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | token_type: token_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:253:13 [INFO] [stderr] | [INFO] [stderr] 253 | span: span, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `span` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/symbol_table.rs:33:34 [INFO] [stderr] | [INFO] [stderr] 33 | var_type: var_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `var_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/number_node.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/number_node.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `op_ref` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/ast/binary_operator_node.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | #[allow(op_ref)] // rust-clippy Issue #1662 ("false positive on op_ref lint") [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::op_ref` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | token_type: token_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokens.rs:253:13 [INFO] [stderr] | [INFO] [stderr] 253 | span: span, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `span` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/symbol_table.rs:33:34 [INFO] [stderr] | [INFO] [stderr] 33 | var_type: var_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `var_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/number_node.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/number_node.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `op_ref` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/ast/binary_operator_node.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | #[allow(op_ref)] // rust-clippy Issue #1662 ("false positive on op_ref lint") [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::op_ref` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | left: left, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `left` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | operator: operator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/unary_operator_node.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | operand: operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/unary_operator_node.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | operator: operator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/unary_operator_node.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/compound_stmt_node.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | token_begin: token_begin, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_begin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/compound_stmt_node.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | token_end: token_end, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_node.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_node.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | variable: variable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:121:13 [INFO] [stderr] | [INFO] [stderr] 121 | expression: expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expression` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/block_node.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | declarations: declarations, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `declarations` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/block_node.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | compound_statement: compound_statement, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compound_statement` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/type_node.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/type_node.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_decl_node.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | msg: msg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `msg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_decl_node.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | variable: variable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_decl_node.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | type_spec: type_spec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `type_spec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/program_node.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/program_node.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | variable: variable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/program_node.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | block: block, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `block` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `op_ref` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/errors.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | #[allow(op_ref)] // rust-clippy issue #1664 [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::op_ref` [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | left: left, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `left` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lexer/mock_lexer.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | tokens: tokens, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | operator: operator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser/mod.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | lexer: lexer, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `lexer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser/mod.rs:50:21 [INFO] [stderr] | [INFO] [stderr] 50 | span: span, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `span` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/binary_operator_node.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/unary_operator_node.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | operand: operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/unary_operator_node.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | operator: operator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/unary_operator_node.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/compound_stmt_node.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | token_begin: token_begin, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_begin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/compound_stmt_node.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | token_end: token_end, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_node.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_node.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/interpreter/mod.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | ast: ast, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ast` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | variable: variable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:121:13 [INFO] [stderr] | [INFO] [stderr] 121 | expression: expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expression` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | #[allow(needless_pass_by_value)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/block_node.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | declarations: declarations, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `declarations` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/block_node.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | compound_statement: compound_statement, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compound_statement` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/type_node.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/type_node.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_decl_node.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | msg: msg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `msg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_decl_node.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | variable: variable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/variable_decl_node.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | type_spec: type_spec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `type_spec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/program_node.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/program_node.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | variable: variable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ast/program_node.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | block: block, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `block` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `op_ref` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/errors.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | #[allow(op_ref)] // rust-clippy issue #1664 [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::op_ref` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser/mod.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | lexer: lexer, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `lexer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser/mod.rs:50:21 [INFO] [stderr] | [INFO] [stderr] 50 | span: span, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `span` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/interpreter/mod.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | ast: ast, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ast` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | #[allow(needless_pass_by_value)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / macro_rules! int_node { [INFO] [stderr] 2 | | ($ast:expr, $value:expr) => {{ [INFO] [stderr] 3 | | let node = NumberNode::new(Value::Integer($value), [INFO] [stderr] 4 | | Token::new(TokenType::IntegerLiteral, [INFO] [stderr] ... | [INFO] [stderr] 8 | | }} [INFO] [stderr] 9 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | / macro_rules! real_node { [INFO] [stderr] 12 | | ($ast:expr, $value:expr) => {{ [INFO] [stderr] 13 | | let node = NumberNode::new(Value::Real($value), [INFO] [stderr] 14 | | Token::new(TokenType::RealLiteral, [INFO] [stderr] ... | [INFO] [stderr] 18 | | }} [INFO] [stderr] 19 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | / macro_rules! binop_node { [INFO] [stderr] 22 | | ($ast:expr, $left:expr, $right:expr, $op:expr) => {{ [INFO] [stderr] 23 | | let node = BinaryOperatorNode::new($left, $right, $op, [INFO] [stderr] 24 | | Token::new(TokenType::Operator, [INFO] [stderr] ... | [INFO] [stderr] 28 | | }} [INFO] [stderr] 29 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | / macro_rules! unop_node { [INFO] [stderr] 32 | | ($ast:expr, $operand:expr, $op:expr) => {{ [INFO] [stderr] 33 | | let node = UnaryOperatorNode::new($operand, $op, [INFO] [stderr] 34 | | Token::new(TokenType::Operator, [INFO] [stderr] ... | [INFO] [stderr] 38 | | }} [INFO] [stderr] 39 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / macro_rules! cmpd_stmt_node { [INFO] [stderr] 42 | | ($ast:expr, $statements:expr) => {{ [INFO] [stderr] 43 | | let node = CompoundStmtNode::new($statements, [INFO] [stderr] 44 | | Token::new(TokenType::Begin, None, Span::default()), [INFO] [stderr] ... | [INFO] [stderr] 47 | | }} [INFO] [stderr] 48 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | / macro_rules! var_node { [INFO] [stderr] 51 | | ($ast:expr, $name:expr) => {{ [INFO] [stderr] 52 | | let node = VariableNode::new($name.to_string(), [INFO] [stderr] 53 | | Token::new(TokenType::Identifier, [INFO] [stderr] ... | [INFO] [stderr] 57 | | }} [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | / macro_rules! assign_node { [INFO] [stderr] 61 | | ($ast:expr, $var:expr, $expr:expr) => {{ [INFO] [stderr] 62 | | let node = AssignmentStmtNode::new($var, $expr, [INFO] [stderr] 63 | | Token::new(TokenType::Assign, None, Span::default())); [INFO] [stderr] 64 | | $ast.add_node(node) [INFO] [stderr] 65 | | }} [INFO] [stderr] 66 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:68:1 [INFO] [stderr] | [INFO] [stderr] 68 | / macro_rules! block_node { [INFO] [stderr] 69 | | ($ast:expr, $declarations:expr, $cmpd_stmt:expr) => {{ [INFO] [stderr] 70 | | let node = BlockNode::new($declarations, $cmpd_stmt); [INFO] [stderr] 71 | | $ast.add_node(node) [INFO] [stderr] 72 | | }} [INFO] [stderr] 73 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:75:1 [INFO] [stderr] | [INFO] [stderr] 75 | / macro_rules! type_node { [INFO] [stderr] 76 | | ($ast:expr, $type_spec:expr) => {{ [INFO] [stderr] 77 | | let node = TypeNode::new($type_spec, [INFO] [stderr] 78 | | Token::new(TokenType::TypeSpecifier, [INFO] [stderr] ... | [INFO] [stderr] 82 | | }} [INFO] [stderr] 83 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | / macro_rules! var_decl_node { [INFO] [stderr] 86 | | ($ast:expr, $var_name:expr, $type_spec:expr) => {{ [INFO] [stderr] 87 | | let node = VariableDeclNode::new($var_name, $type_spec); [INFO] [stderr] 88 | | $ast.add_node(node) [INFO] [stderr] 89 | | }} [INFO] [stderr] 90 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/ast/macros.rs:92:1 [INFO] [stderr] | [INFO] [stderr] 92 | / macro_rules! program_node { [INFO] [stderr] 93 | | ($ast:expr, $name:expr, $variable:expr, $block:expr) => {{ [INFO] [stderr] 94 | | let node = ProgramNode::new($name.to_string(), $variable, $block); [INFO] [stderr] 95 | | $ast.add_node(node) [INFO] [stderr] 96 | | }} [INFO] [stderr] 97 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: lint name `op_ref` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/ast/binary_operator_node.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | #[allow(op_ref)] // rust-clippy Issue #1662 ("false positive on op_ref lint") [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::op_ref` [INFO] [stderr] [INFO] [stderr] warning: lint name `op_ref` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/ast/binary_operator_node.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | #[allow(op_ref)] // rust-clippy Issue #1662 ("false positive on op_ref lint") [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::op_ref` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:251:50 [INFO] [stderr] | [INFO] [stderr] 251 | real_node!(ast, (i64::MAX as f64 + 1000.0))); [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/ast/assignment_stmt_node.rs:251:50 [INFO] [stderr] | [INFO] [stderr] 251 | real_node!(ast, (i64::MAX as f64 + 1000.0))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lexer/pascal_lexer.rs:535:54 [INFO] [stderr] | [INFO] [stderr] 535 | TokenValue::Integer(value) => assert_eq!(9223372036854775807, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `9_223_372_036_854_775_807` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/ast/number_node.rs:163:52 [INFO] [stderr] | [INFO] [stderr] 163 | let num_node = NumberNode::new(Value::Real(3.1415), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/ast/number_node.rs:165:73 [INFO] [stderr] | [INFO] [stderr] 165 | Some(TokenValue::Real(3.1415)), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/ast/number_node.rs:167:68 [INFO] [stderr] | [INFO] [stderr] 167 | assert_eq!(num_node.get_value().unwrap(), TokenValue::Real(3.1415)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/ast/number_node.rs:196:52 [INFO] [stderr] | [INFO] [stderr] 196 | let num_node = NumberNode::new(Value::Real(3.1415), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/ast/number_node.rs:198:73 [INFO] [stderr] | [INFO] [stderr] 198 | Some(TokenValue::Real(3.1415)), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/ast/number_node.rs:206:20 [INFO] [stderr] | [INFO] [stderr] 206 | 3.1415); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/number_node.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | / assert_eq!(num_node [INFO] [stderr] 203 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 204 | | .unwrap() [INFO] [stderr] 205 | | .extract_real_value(), [INFO] [stderr] 206 | | 3.1415); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/number_node.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | / assert_eq!(num_node [INFO] [stderr] 203 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 204 | | .unwrap() [INFO] [stderr] 205 | | .extract_real_value(), [INFO] [stderr] 206 | | 3.1415); [INFO] [stderr] | |___________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/binary_operator_node.rs:262:9 [INFO] [stderr] | [INFO] [stderr] 262 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 263 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 264 | | .unwrap() [INFO] [stderr] 265 | | .extract_real_value(), [INFO] [stderr] 266 | | 4.4); [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/binary_operator_node.rs:262:9 [INFO] [stderr] | [INFO] [stderr] 262 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 263 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 264 | | .unwrap() [INFO] [stderr] 265 | | .extract_real_value(), [INFO] [stderr] 266 | | 4.4); [INFO] [stderr] | |________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/binary_operator_node.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 291 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 292 | | .unwrap() [INFO] [stderr] 293 | | .extract_real_value(), [INFO] [stderr] 294 | | 2.76); [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/binary_operator_node.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 291 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 292 | | .unwrap() [INFO] [stderr] 293 | | .extract_real_value(), [INFO] [stderr] 294 | | 2.76); [INFO] [stderr] | |_________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/binary_operator_node.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 348 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 349 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 350 | | .unwrap() [INFO] [stderr] 351 | | .extract_real_value(), [INFO] [stderr] 352 | | 3.75); [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/binary_operator_node.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 348 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 349 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 350 | | .unwrap() [INFO] [stderr] 351 | | .extract_real_value(), [INFO] [stderr] 352 | | 3.75); [INFO] [stderr] | |_________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/binary_operator_node.rs:391:9 [INFO] [stderr] | [INFO] [stderr] 391 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 392 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 393 | | .unwrap() [INFO] [stderr] 394 | | .extract_real_value(), [INFO] [stderr] 395 | | 2.5); [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/binary_operator_node.rs:391:9 [INFO] [stderr] | [INFO] [stderr] 391 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 392 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 393 | | .unwrap() [INFO] [stderr] 394 | | .extract_real_value(), [INFO] [stderr] 395 | | 2.5); [INFO] [stderr] | |________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/binary_operator_node.rs:406:9 [INFO] [stderr] | [INFO] [stderr] 406 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 407 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 408 | | .unwrap() [INFO] [stderr] 409 | | .extract_real_value(), [INFO] [stderr] 410 | | 2.0); [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/binary_operator_node.rs:406:9 [INFO] [stderr] | [INFO] [stderr] 406 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 407 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 408 | | .unwrap() [INFO] [stderr] 409 | | .extract_real_value(), [INFO] [stderr] 410 | | 2.0); [INFO] [stderr] | |________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/unary_operator_node.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 214 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 215 | | .unwrap() [INFO] [stderr] 216 | | .extract_real_value(), [INFO] [stderr] 217 | | 2.5); [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/unary_operator_node.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 214 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 215 | | .unwrap() [INFO] [stderr] 216 | | .extract_real_value(), [INFO] [stderr] 217 | | 2.5); [INFO] [stderr] | |________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ast/unary_operator_node.rs:237:9 [INFO] [stderr] | [INFO] [stderr] 237 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 238 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 239 | | .unwrap() [INFO] [stderr] 240 | | .extract_real_value(), [INFO] [stderr] 241 | | -4.25); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ast/unary_operator_node.rs:237:9 [INFO] [stderr] | [INFO] [stderr] 237 | / assert_eq!(ast.get_node(index_op) [INFO] [stderr] 238 | | .visit(&ast, &mut sym_tbl) [INFO] [stderr] 239 | | .unwrap() [INFO] [stderr] 240 | | .extract_real_value(), [INFO] [stderr] 241 | | -4.25); [INFO] [stderr] | |__________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/ast/assignment_stmt_node.rs:235:76 [INFO] [stderr] | [INFO] [stderr] 235 | let index = assign_node!(ast, var_node!(ast, "a"), real_node!(ast, 3.1415)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lexer/pascal_lexer.rs:545:40 [INFO] [stderr] | [INFO] [stderr] 545 | TokenValue::Real(value) => assert_eq!(12.3, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lexer/pascal_lexer.rs:545:40 [INFO] [stderr] | [INFO] [stderr] 545 | TokenValue::Real(value) => assert_eq!(12.3, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lexer/pascal_lexer.rs:555:40 [INFO] [stderr] | [INFO] [stderr] 555 | TokenValue::Real(value) => assert_eq!(12.3, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lexer/pascal_lexer.rs:555:40 [INFO] [stderr] | [INFO] [stderr] 555 | TokenValue::Real(value) => assert_eq!(12.3, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lexer/pascal_lexer.rs:565:40 [INFO] [stderr] | [INFO] [stderr] 565 | TokenValue::Real(value) => assert_eq!(12.0, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lexer/pascal_lexer.rs:565:40 [INFO] [stderr] | [INFO] [stderr] 565 | TokenValue::Real(value) => assert_eq!(12.0, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lexer/pascal_lexer.rs:575:40 [INFO] [stderr] | [INFO] [stderr] 575 | TokenValue::Real(value) => assert_eq!(0.12, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lexer/pascal_lexer.rs:575:40 [INFO] [stderr] | [INFO] [stderr] 575 | TokenValue::Real(value) => assert_eq!(0.12, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lexer/pascal_lexer.rs:582:9 [INFO] [stderr] | [INFO] [stderr] 582 | assert_input_generates_token_with_value!(".12", TokenValue::Real, 0.12); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lexer/pascal_lexer.rs:582:9 [INFO] [stderr] | [INFO] [stderr] 582 | assert_input_generates_token_with_value!(".12", TokenValue::Real, 0.12); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lexer/pascal_lexer.rs:611:40 [INFO] [stderr] | [INFO] [stderr] 611 | TokenValue::Real(value) => assert_eq!(12.1123, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lexer/pascal_lexer.rs:611:40 [INFO] [stderr] | [INFO] [stderr] 611 | TokenValue::Real(value) => assert_eq!(12.1123, value), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/parser/mod.rs:2178:37 [INFO] [stderr] | [INFO] [stderr] 2178 | let tokens = vec![real_lit!(3.1415)]; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/parser/mod.rs:2182:57 [INFO] [stderr] | [INFO] [stderr] 2182 | verify_node(&ast, index, None, TokenValue::Real(3.1415)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/interpreter/mod.rs:227:28 [INFO] [stderr] | [INFO] [stderr] 227 | fn lookup(&self, name: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to 23 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `interpreter_tutorial`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "11c3ef8adcf19193cef8b1ecbf93655b8a80d5bd5fca7106b6505799851dcd9f"` [INFO] running `"docker" "rm" "-f" "11c3ef8adcf19193cef8b1ecbf93655b8a80d5bd5fca7106b6505799851dcd9f"` [INFO] [stdout] 11c3ef8adcf19193cef8b1ecbf93655b8a80d5bd5fca7106b6505799851dcd9f