[INFO] updating cached repository semrov/ProteusCompiler
[INFO] running `"git" "fetch" "--all"`
[INFO] [stdout] Fetching origin
[INFO] [stderr] From git://github.com/semrov/ProteusCompiler
[INFO] [stderr] * branch HEAD -> FETCH_HEAD
[INFO] running `"git" "clone" "work/cache/sources/gh/semrov/ProteusCompiler" "work/ex/clippy-test-run/sources/stable/gh/semrov/ProteusCompiler"`
[INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/semrov/ProteusCompiler'...
[INFO] [stderr] done.
[INFO] running `"git" "clone" "work/cache/sources/gh/semrov/ProteusCompiler" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/semrov/ProteusCompiler"`
[INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/semrov/ProteusCompiler'...
[INFO] [stderr] done.
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 9583241be95b0ce6772787da308d1cd91caddfaa
[INFO] sha for GitHub repo semrov/ProteusCompiler: 9583241be95b0ce6772787da308d1cd91caddfaa
[INFO] validating manifest of semrov/ProteusCompiler 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 semrov/ProteusCompiler 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 semrov/ProteusCompiler
[INFO] finished frobbing semrov/ProteusCompiler
[INFO] frobbed toml for semrov/ProteusCompiler written to work/ex/clippy-test-run/sources/stable/gh/semrov/ProteusCompiler/Cargo.toml
[INFO] started frobbing semrov/ProteusCompiler
[INFO] finished frobbing semrov/ProteusCompiler
[INFO] frobbed toml for semrov/ProteusCompiler written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/semrov/ProteusCompiler/Cargo.toml
[INFO] crate semrov/ProteusCompiler 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 semrov/ProteusCompiler against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run
[INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/semrov/ProteusCompiler:/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 -Dclippy::into_iter_on_array" "-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] ebb0dbc9b6e43f318839fcc37288547ab54448a334cf7b673d3518d4fddf0f37
[INFO] running `"docker" "start" "-a" "ebb0dbc9b6e43f318839fcc37288547ab54448a334cf7b673d3518d4fddf0f37"`
[INFO] [stderr] Checking proteus_compiler v0.1.0 (/opt/crater/workdir)
[INFO] [stderr] warning: redundant field names in struct initialization
[INFO] [stderr] --> src/lexanal/mod.rs:98:13
[INFO] [stderr] |
[INFO] [stderr] 98 | reader : reader,
[INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `reader`
[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/synanal/parse_error.rs:25:13
[INFO] [stderr] |
[INFO] [stderr] 25 | symbol : symbol,
[INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `symbol`
[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/synanal/mod.rs:37:13
[INFO] [stderr] |
[INFO] [stderr] 37 | lexical_analyser : lexical_analyser,
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lexical_analyser`
[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/synanal/mod.rs:47:13
[INFO] [stderr] |
[INFO] [stderr] 47 | lexical_analyser : lexical_analyser,
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lexical_analyser`
[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/abstree/abs_expr.rs:29:19
[INFO] [stderr] |
[INFO] [stderr] 29 | AbsExprs{exprs : exprs, abs_position : AbsPosition::new()}
[INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `exprs`
[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/lexanal/mod.rs:98:13
[INFO] [stderr] |
[INFO] [stderr] 98 | reader : reader,
[INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `reader`
[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/synanal/parse_error.rs:25:13
[INFO] [stderr] |
[INFO] [stderr] 25 | symbol : symbol,
[INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `symbol`
[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/synanal/mod.rs:37:13
[INFO] [stderr] |
[INFO] [stderr] 37 | lexical_analyser : lexical_analyser,
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lexical_analyser`
[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/synanal/mod.rs:47:13
[INFO] [stderr] |
[INFO] [stderr] 47 | lexical_analyser : lexical_analyser,
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lexical_analyser`
[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/abstree/abs_expr.rs:29:19
[INFO] [stderr] |
[INFO] [stderr] 29 | AbsExprs{exprs : exprs, abs_position : AbsPosition::new()}
[INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `exprs`
[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: All variants have the same postfix: `State`
[INFO] [stderr] --> src/lexanal/mod.rs:16:1
[INFO] [stderr] |
[INFO] [stderr] 16 | / enum ParserState
[INFO] [stderr] 17 | | {
[INFO] [stderr] 18 | | InitialState,
[INFO] [stderr] 19 | | IdentifierState,
[INFO] [stderr] ... |
[INFO] [stderr] 28 | | StringEscapeState,
[INFO] [stderr] 29 | | }
[INFO] [stderr] | |_^
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default
[INFO] [stderr] = help: remove the postfixes and use full paths to the variants instead of glob imports
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::visitor::Visitor`
[INFO] [stderr] --> src/synanal/run.rs:6:5
[INFO] [stderr] |
[INFO] [stderr] 6 | use abstree::visitor::Visitor;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(unused_imports)] on by default
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::position::Position`
[INFO] [stderr] --> src/synanal/mod.rs:10:5
[INFO] [stderr] |
[INFO] [stderr] 10 | use lexanal::position::Position;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::abs_position::AbsPosition`
[INFO] [stderr] --> src/synanal/mod.rs:15:5
[INFO] [stderr] |
[INFO] [stderr] 15 | use abstree::abs_position::AbsPosition;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::positioner::Positioner`
[INFO] [stderr] --> src/synanal/mod.rs:18:5
[INFO] [stderr] |
[INFO] [stderr] 18 | use abstree::positioner::Positioner;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unneeded return statement
[INFO] [stderr] --> src/synanal/mod.rs:74:17
[INFO] [stderr] |
[INFO] [stderr] 74 | return Ok(Some(expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(expr))`
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
[INFO] [stderr]
[INFO] [stderr] warning: unneeded return statement
[INFO] [stderr] --> src/synanal/mod.rs:76:46
[INFO] [stderr] |
[INFO] [stderr] 76 | Err(ParseError::IoError(ioe)) => return Err(ioe),
[INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ioe)`
[INFO] [stderr] |
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:329:17
[INFO] [stderr] |
[INFO] [stderr] 329 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:328:35
[INFO] [stderr] |
[INFO] [stderr] 328 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::ADD,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:336:17
[INFO] [stderr] |
[INFO] [stderr] 336 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:335:35
[INFO] [stderr] |
[INFO] [stderr] 335 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::SUB,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:343:17
[INFO] [stderr] |
[INFO] [stderr] 343 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:342:35
[INFO] [stderr] |
[INFO] [stderr] 342 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::MUL,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:350:17
[INFO] [stderr] |
[INFO] [stderr] 350 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:349:35
[INFO] [stderr] |
[INFO] [stderr] 349 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::AND,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:357:17
[INFO] [stderr] |
[INFO] [stderr] 357 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:356:35
[INFO] [stderr] |
[INFO] [stderr] 356 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::NOT,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:403:25
[INFO] [stderr] |
[INFO] [stderr] 403 | abs_fun_call
[INFO] [stderr] | ^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:402:44
[INFO] [stderr] |
[INFO] [stderr] 402 | let abs_fun_call = Box::new(AbsFunCall::new(abs_expr_name,*fun_call_params));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:477:17
[INFO] [stderr] |
[INFO] [stderr] 477 | atom_expr
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:476:33
[INFO] [stderr] |
[INFO] [stderr] 476 | let atom_expr = Box::new(AbsAtomExpr::new_with_option(None));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:505:17
[INFO] [stderr] |
[INFO] [stderr] 505 | if_stmt
[INFO] [stderr] | ^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:504:31
[INFO] [stderr] |
[INFO] [stderr] 504 | let if_stmt = Box::new(AbsIfStmt::new(cond_expr,then_expr,else_expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:519:17
[INFO] [stderr] |
[INFO] [stderr] 519 | for_loop_expr
[INFO] [stderr] | ^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:518:37
[INFO] [stderr] |
[INFO] [stderr] 518 | let for_loop_expr = Box::new(AbsForStmt::new(var_name,lower_bound,higher_bound,loop_exprs));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:529:17
[INFO] [stderr] |
[INFO] [stderr] 529 | while_expr
[INFO] [stderr] | ^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:528:34
[INFO] [stderr] |
[INFO] [stderr] 528 | let while_expr = Box::new(AbsWhileStmt::new(cond_expr,loop_expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:614:17
[INFO] [stderr] |
[INFO] [stderr] 614 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:613:33
[INFO] [stderr] |
[INFO] [stderr] 613 | let atom_type = Box::new(AbsAtomType::new(AtomType::INT,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:620:17
[INFO] [stderr] |
[INFO] [stderr] 620 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:619:33
[INFO] [stderr] |
[INFO] [stderr] 619 | let atom_type = Box::new(AbsAtomType::new(AtomType::REAL,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:626:17
[INFO] [stderr] |
[INFO] [stderr] 626 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:625:37
[INFO] [stderr] |
[INFO] [stderr] 625 | let mut atom_type = Box::new(AbsAtomType::new(AtomType::BOOL,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:632:17
[INFO] [stderr] |
[INFO] [stderr] 632 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:631:37
[INFO] [stderr] |
[INFO] [stderr] 631 | let mut atom_type = Box::new(AbsAtomType::new(AtomType::STRING,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:644:17
[INFO] [stderr] |
[INFO] [stderr] 644 | type_name
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:643:37
[INFO] [stderr] |
[INFO] [stderr] 643 | let mut type_name = Box::new(AbsTypeName::new(self.skip(Token::IDENTIFIER)?));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:652:17
[INFO] [stderr] |
[INFO] [stderr] 652 | abs_pointer_type
[INFO] [stderr] | ^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:651:40
[INFO] [stderr] |
[INFO] [stderr] 651 | let abs_pointer_type = Box::new(AbsPointerType::new(abs_type,&pointer_symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:662:17
[INFO] [stderr] |
[INFO] [stderr] 662 | array
[INFO] [stderr] | ^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:661:29
[INFO] [stderr] |
[INFO] [stderr] 661 | let array = Box::new(AbsArrType::new(arr_type,size_expr,&arr_symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:671:17
[INFO] [stderr] |
[INFO] [stderr] 671 | record
[INFO] [stderr] | ^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:670:34
[INFO] [stderr] |
[INFO] [stderr] 670 | let mut record = Box::new(AbsRecType::new(record_compoments,&rec_symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:730:17
[INFO] [stderr] |
[INFO] [stderr] 730 | abs_var_decl
[INFO] [stderr] | ^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:729:36
[INFO] [stderr] |
[INFO] [stderr] 729 | let abs_var_decl = Box::new(AbsVarDecl::new(identifier,abs_type));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: unneeded return statement
[INFO] [stderr] --> src/synanal/mod.rs:819:21
[INFO] [stderr] |
[INFO] [stderr] 819 | None => return Err(ParseError::SyntaxError(SymbolError::new(None))),
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::SyntaxError(SymbolError::new(None)))`
[INFO] [stderr] |
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/positioner.rs:2:5
[INFO] [stderr] |
[INFO] [stderr] 2 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::AbsTree`
[INFO] [stderr] --> src/abstree/positioner.rs:3:5
[INFO] [stderr] |
[INFO] [stderr] 3 | use abstree::AbsTree;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/abs_position.rs:3:5
[INFO] [stderr] |
[INFO] [stderr] 3 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::AbsTree`
[INFO] [stderr] --> src/abstree/abs_position.rs:4:5
[INFO] [stderr] |
[INFO] [stderr] 4 | use abstree::AbsTree;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `AbsDecl`
[INFO] [stderr] --> src/abstree/abs_expr.rs:3:25
[INFO] [stderr] |
[INFO] [stderr] 3 | use abstree::abs_decl::{AbsDecl,AbsDecls};
[INFO] [stderr] | ^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/abs_stmt.rs:7:5
[INFO] [stderr] |
[INFO] [stderr] 7 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/abs_decl.rs:7:5
[INFO] [stderr] |
[INFO] [stderr] 7 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::position::Position`
[INFO] [stderr] --> src/abstree/print_xml.rs:10:5
[INFO] [stderr] |
[INFO] [stderr] 10 | use lexanal::position::Position;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: All variants have the same postfix: `State`
[INFO] [stderr] --> src/lexanal/mod.rs:16:1
[INFO] [stderr] |
[INFO] [stderr] 16 | / enum ParserState
[INFO] [stderr] 17 | | {
[INFO] [stderr] 18 | | InitialState,
[INFO] [stderr] 19 | | IdentifierState,
[INFO] [stderr] ... |
[INFO] [stderr] 28 | | StringEscapeState,
[INFO] [stderr] 29 | | }
[INFO] [stderr] | |_^
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default
[INFO] [stderr] = help: remove the postfixes and use full paths to the variants instead of glob imports
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::visitor::Visitor`
[INFO] [stderr] --> src/synanal/run.rs:6:5
[INFO] [stderr] |
[INFO] [stderr] 6 | use abstree::visitor::Visitor;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(unused_imports)] on by default
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::position::Position`
[INFO] [stderr] --> src/synanal/mod.rs:10:5
[INFO] [stderr] |
[INFO] [stderr] 10 | use lexanal::position::Position;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::abs_position::AbsPosition`
[INFO] [stderr] --> src/synanal/mod.rs:15:5
[INFO] [stderr] |
[INFO] [stderr] 15 | use abstree::abs_position::AbsPosition;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::positioner::Positioner`
[INFO] [stderr] --> src/synanal/mod.rs:18:5
[INFO] [stderr] |
[INFO] [stderr] 18 | use abstree::positioner::Positioner;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unneeded return statement
[INFO] [stderr] --> src/synanal/mod.rs:74:17
[INFO] [stderr] |
[INFO] [stderr] 74 | return Ok(Some(expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(expr))`
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
[INFO] [stderr]
[INFO] [stderr] warning: unneeded return statement
[INFO] [stderr] --> src/synanal/mod.rs:76:46
[INFO] [stderr] |
[INFO] [stderr] 76 | Err(ParseError::IoError(ioe)) => return Err(ioe),
[INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ioe)`
[INFO] [stderr] |
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:329:17
[INFO] [stderr] |
[INFO] [stderr] 329 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:328:35
[INFO] [stderr] |
[INFO] [stderr] 328 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::ADD,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:336:17
[INFO] [stderr] |
[INFO] [stderr] 336 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:335:35
[INFO] [stderr] |
[INFO] [stderr] 335 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::SUB,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:343:17
[INFO] [stderr] |
[INFO] [stderr] 343 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:342:35
[INFO] [stderr] |
[INFO] [stderr] 342 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::MUL,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:350:17
[INFO] [stderr] |
[INFO] [stderr] 350 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:349:35
[INFO] [stderr] |
[INFO] [stderr] 349 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::AND,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:357:17
[INFO] [stderr] |
[INFO] [stderr] 357 | abs_un_expr
[INFO] [stderr] | ^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:356:35
[INFO] [stderr] |
[INFO] [stderr] 356 | let abs_un_expr = Box::new(AbsUnExpr::new(AbsUnOper::NOT,expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:403:25
[INFO] [stderr] |
[INFO] [stderr] 403 | abs_fun_call
[INFO] [stderr] | ^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:402:44
[INFO] [stderr] |
[INFO] [stderr] 402 | let abs_fun_call = Box::new(AbsFunCall::new(abs_expr_name,*fun_call_params));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:477:17
[INFO] [stderr] |
[INFO] [stderr] 477 | atom_expr
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:476:33
[INFO] [stderr] |
[INFO] [stderr] 476 | let atom_expr = Box::new(AbsAtomExpr::new_with_option(None));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:505:17
[INFO] [stderr] |
[INFO] [stderr] 505 | if_stmt
[INFO] [stderr] | ^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:504:31
[INFO] [stderr] |
[INFO] [stderr] 504 | let if_stmt = Box::new(AbsIfStmt::new(cond_expr,then_expr,else_expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:519:17
[INFO] [stderr] |
[INFO] [stderr] 519 | for_loop_expr
[INFO] [stderr] | ^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:518:37
[INFO] [stderr] |
[INFO] [stderr] 518 | let for_loop_expr = Box::new(AbsForStmt::new(var_name,lower_bound,higher_bound,loop_exprs));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:529:17
[INFO] [stderr] |
[INFO] [stderr] 529 | while_expr
[INFO] [stderr] | ^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:528:34
[INFO] [stderr] |
[INFO] [stderr] 528 | let while_expr = Box::new(AbsWhileStmt::new(cond_expr,loop_expr));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:614:17
[INFO] [stderr] |
[INFO] [stderr] 614 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:613:33
[INFO] [stderr] |
[INFO] [stderr] 613 | let atom_type = Box::new(AbsAtomType::new(AtomType::INT,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:620:17
[INFO] [stderr] |
[INFO] [stderr] 620 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:619:33
[INFO] [stderr] |
[INFO] [stderr] 619 | let atom_type = Box::new(AbsAtomType::new(AtomType::REAL,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:626:17
[INFO] [stderr] |
[INFO] [stderr] 626 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:625:37
[INFO] [stderr] |
[INFO] [stderr] 625 | let mut atom_type = Box::new(AbsAtomType::new(AtomType::BOOL,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:632:17
[INFO] [stderr] |
[INFO] [stderr] 632 | atom_type
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:631:37
[INFO] [stderr] |
[INFO] [stderr] 631 | let mut atom_type = Box::new(AbsAtomType::new(AtomType::STRING,&symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:644:17
[INFO] [stderr] |
[INFO] [stderr] 644 | type_name
[INFO] [stderr] | ^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:643:37
[INFO] [stderr] |
[INFO] [stderr] 643 | let mut type_name = Box::new(AbsTypeName::new(self.skip(Token::IDENTIFIER)?));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:652:17
[INFO] [stderr] |
[INFO] [stderr] 652 | abs_pointer_type
[INFO] [stderr] | ^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:651:40
[INFO] [stderr] |
[INFO] [stderr] 651 | let abs_pointer_type = Box::new(AbsPointerType::new(abs_type,&pointer_symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:662:17
[INFO] [stderr] |
[INFO] [stderr] 662 | array
[INFO] [stderr] | ^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:661:29
[INFO] [stderr] |
[INFO] [stderr] 661 | let array = Box::new(AbsArrType::new(arr_type,size_expr,&arr_symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:671:17
[INFO] [stderr] |
[INFO] [stderr] 671 | record
[INFO] [stderr] | ^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:670:34
[INFO] [stderr] |
[INFO] [stderr] 670 | let mut record = Box::new(AbsRecType::new(record_compoments,&rec_symbol));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly.
[INFO] [stderr] --> src/synanal/mod.rs:730:17
[INFO] [stderr] |
[INFO] [stderr] 730 | abs_var_decl
[INFO] [stderr] | ^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] note: this expression can be directly returned
[INFO] [stderr] --> src/synanal/mod.rs:729:36
[INFO] [stderr] |
[INFO] [stderr] 729 | let abs_var_decl = Box::new(AbsVarDecl::new(identifier,abs_type));
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
[INFO] [stderr]
[INFO] [stderr] warning: unneeded return statement
[INFO] [stderr] --> src/synanal/mod.rs:819:21
[INFO] [stderr] |
[INFO] [stderr] 819 | None => return Err(ParseError::SyntaxError(SymbolError::new(None))),
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::SyntaxError(SymbolError::new(None)))`
[INFO] [stderr] |
[INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/positioner.rs:2:5
[INFO] [stderr] |
[INFO] [stderr] 2 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::AbsTree`
[INFO] [stderr] --> src/abstree/positioner.rs:3:5
[INFO] [stderr] |
[INFO] [stderr] 3 | use abstree::AbsTree;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/abs_position.rs:3:5
[INFO] [stderr] |
[INFO] [stderr] 3 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `abstree::AbsTree`
[INFO] [stderr] --> src/abstree/abs_position.rs:4:5
[INFO] [stderr] |
[INFO] [stderr] 4 | use abstree::AbsTree;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `AbsDecl`
[INFO] [stderr] --> src/abstree/abs_expr.rs:3:25
[INFO] [stderr] |
[INFO] [stderr] 3 | use abstree::abs_decl::{AbsDecl,AbsDecls};
[INFO] [stderr] | ^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/abs_stmt.rs:7:5
[INFO] [stderr] |
[INFO] [stderr] 7 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::symbol::Symbol`
[INFO] [stderr] --> src/abstree/abs_decl.rs:7:5
[INFO] [stderr] |
[INFO] [stderr] 7 | use lexanal::symbol::Symbol;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused import: `lexanal::position::Position`
[INFO] [stderr] --> src/abstree/print_xml.rs:10:5
[INFO] [stderr] |
[INFO] [stderr] 10 | use lexanal::position::Position;
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]
[INFO] [stderr] warning: unused variable: `fun_symbol`
[INFO] [stderr] --> src/synanal/mod.rs:744:13
[INFO] [stderr] |
[INFO] [stderr] 744 | let fun_symbol = self.skip(Token::FUN)?;
[INFO] [stderr] | ^^^^^^^^^^ help: consider using `_fun_symbol` instead
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(unused_variables)] on by default
[INFO] [stderr]
[INFO] [stderr] warning: unused variable: `var_symbol`
[INFO] [stderr] --> src/synanal/mod.rs:803:13
[INFO] [stderr] |
[INFO] [stderr] 803 | let var_symbol = self.skip(Token::VAR)?;
[INFO] [stderr] | ^^^^^^^^^^ help: consider using `_var_symbol` instead
[INFO] [stderr]
[INFO] [stderr] warning: unused variable: `fun_symbol`
[INFO] [stderr] --> src/synanal/mod.rs:744:13
[INFO] [stderr] |
[INFO] [stderr] 744 | let fun_symbol = self.skip(Token::FUN)?;
[INFO] [stderr] | ^^^^^^^^^^ help: consider using `_fun_symbol` instead
[INFO] [stderr] |
[INFO] [stderr] = note: #[warn(unused_variables)] on by default
[INFO] [stderr]
[INFO] [stderr] warning: unused variable: `var_symbol`
[INFO] [stderr] --> src/synanal/mod.rs:803:13
[INFO] [stderr] |
[INFO] [stderr] 803 | let var_symbol = self.skip(Token::VAR)?;
[INFO] [stderr] | ^^^^^^^^^^ help: consider using `_var_symbol` instead
[INFO] [stderr]
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr] --> src/synanal/run.rs:14:9
[INFO] [stderr] |
[INFO] [stderr] 14 | let mut abstree_xml_creator : ProteusXmlCreator = match ProteusXmlCreator::open(String::from_str("abstree").unwrap()) {
[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/synanal/run.rs:22:9
[INFO] [stderr] |
[INFO] [stderr] 22 | let mut lexical_analyser = match LexicalAnalyzer::new(program_name)
[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/synanal/run.rs:14:9
[INFO] [stderr] |
[INFO] [stderr] 14 | let mut abstree_xml_creator : ProteusXmlCreator = match ProteusXmlCreator::open(String::from_str("abstree").unwrap()) {
[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/synanal/run.rs:22:9
[INFO] [stderr] |
[INFO] [stderr] 22 | let mut lexical_analyser = match LexicalAnalyzer::new(program_name)
[INFO] [stderr] | ----^^^^^^^^^^^^^^^^
[INFO] [stderr] | |
[INFO] [stderr] | help: remove this `mut`
[INFO] [stderr]
[INFO] [stderr] warning: the function has a cyclomatic complexity of 28
[INFO] [stderr] --> src/lexanal/mod.rs:136:6
[INFO] [stderr] |
[INFO] [stderr] 136 | / pub fn get_next_symbol(&mut self) -> Result