[INFO] updating cached repository zss-git/solstice [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/zss-git/solstice [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/zss-git/solstice" "work/ex/clippy-test-run/sources/stable/gh/zss-git/solstice"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/zss-git/solstice'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/zss-git/solstice" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zss-git/solstice"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zss-git/solstice'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8f4c79b2e43f487a879c0c0e8e7c4540cac5d31b [INFO] sha for GitHub repo zss-git/solstice: 8f4c79b2e43f487a879c0c0e8e7c4540cac5d31b [INFO] validating manifest of zss-git/solstice 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 zss-git/solstice 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 zss-git/solstice [INFO] finished frobbing zss-git/solstice [INFO] frobbed toml for zss-git/solstice written to work/ex/clippy-test-run/sources/stable/gh/zss-git/solstice/Cargo.toml [INFO] started frobbing zss-git/solstice [INFO] finished frobbing zss-git/solstice [INFO] frobbed toml for zss-git/solstice written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zss-git/solstice/Cargo.toml [INFO] crate zss-git/solstice 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 zss-git/solstice against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/zss-git/solstice:/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] 3d68548390e3c2f220d5626aef7537b3ca87176f1a5db5c2eaaf5ea810481e1c [INFO] running `"docker" "start" "-a" "3d68548390e3c2f220d5626aef7537b3ca87176f1a5db5c2eaaf5ea810481e1c"` [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking libc v0.2.40 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking ucd-util v0.1.1 [INFO] [stderr] Checking lazy_static v1.0.0 [INFO] [stderr] Compiling regex v0.2.10 [INFO] [stderr] Checking itoa v0.3.4 [INFO] [stderr] Checking dtoa v0.4.2 [INFO] [stderr] Checking utf8-ranges v1.0.0 [INFO] [stderr] Checking num-traits v0.2.1 [INFO] [stderr] Checking serde v1.0.33 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Compiling proc-macro2 v0.2.3 [INFO] [stderr] Checking regex-syntax v0.5.3 [INFO] [stderr] Checking thread_local v0.3.5 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking aho-corasick v0.6.4 [INFO] [stderr] Compiling quote v0.4.2 [INFO] [stderr] Compiling syn v0.12.14 [INFO] [stderr] Compiling serde_derive_internals v0.21.0 [INFO] [stderr] Compiling serde_derive v1.0.33 [INFO] [stderr] Checking serde_json v1.0.11 [INFO] [stderr] Checking translator v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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/data_structure.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | return def; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `def` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return v; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `v` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | return data; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `data` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return vecs; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `vecs` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | return trim_unwanted_chars(names); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `trim_unwanted_chars(names)` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return map; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `map` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | return def; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `def` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return v; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `v` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | return data; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `data` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return vecs; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `vecs` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | return trim_unwanted_chars(names); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `trim_unwanted_chars(names)` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return map; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `map` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | return def; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `def` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:468:5 [INFO] [stderr] | [INFO] [stderr] 468 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return contract; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contract` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:314:5 [INFO] [stderr] | [INFO] [stderr] 314 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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/data_structure.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | return def; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `def` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return v; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `v` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | return data; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `data` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return vecs; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `vecs` [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:348:5 [INFO] [stderr] | [INFO] [stderr] 348 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:408:5 [INFO] [stderr] | [INFO] [stderr] 408 | return preamble; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `preamble` [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] | [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/parse.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | return trim_unwanted_chars(names); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `trim_unwanted_chars(names)` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return map; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `map` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | return def; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `def` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return v; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `v` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | return data; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `data` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return vecs; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `vecs` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | return trim_unwanted_chars(names); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `trim_unwanted_chars(names)` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return map; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `map` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/parse.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/data_structure.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | return def; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `def` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/function_gen.rs:468:5 [INFO] [stderr] | [INFO] [stderr] 468 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return contract; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contract` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:314:5 [INFO] [stderr] | [INFO] [stderr] 314 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:348:5 [INFO] [stderr] | [INFO] [stderr] 348 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: unneeded return statement [INFO] [stderr] --> src/contract_gen.rs:408:5 [INFO] [stderr] | [INFO] [stderr] 408 | return preamble; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `preamble` [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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/data_structure.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / if self.tail == other.tail && self.head == other.head{ [INFO] [stderr] 12 | | return true; [INFO] [stderr] 13 | | } else { [INFO] [stderr] 14 | | return false; [INFO] [stderr] 15 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `return self.tail == other.tail && self.head == other.head` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/data_structure.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | } else if indents == 0 { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 104 | | //We've obviously gone too far. [INFO] [stderr] 105 | | continue; [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/data_structure.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | if e.is_block && e.is_below { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 100 | | //Skip closing blocks under these conditions - [INFO] [stderr] 101 | | //they have already been closed. [INFO] [stderr] 102 | | continue; [INFO] [stderr] 103 | | } else if indents == 0 { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parse.rs:105:64 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn get_types_from_block(parse: &Value, block: &str, names: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:144:36 [INFO] [stderr] | [INFO] [stderr] 144 | let newline_split = cont.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:148:38 [INFO] [stderr] | [INFO] [stderr] 148 | let mut bang_split = s.split("!"); [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:161:45 [INFO] [stderr] | [INFO] [stderr] 161 | let mut colon_split = mapping.split(":"); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/data_structure.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / if self.tail == other.tail && self.head == other.head{ [INFO] [stderr] 12 | | return true; [INFO] [stderr] 13 | | } else { [INFO] [stderr] 14 | | return false; [INFO] [stderr] 15 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `return self.tail == other.tail && self.head == other.head` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/data_structure.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | } else if indents == 0 { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 104 | | //We've obviously gone too far. [INFO] [stderr] 105 | | continue; [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/data_structure.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | if e.is_block && e.is_below { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 100 | | //Skip closing blocks under these conditions - [INFO] [stderr] 101 | | //they have already been closed. [INFO] [stderr] 102 | | continue; [INFO] [stderr] 103 | | } else if indents == 0 { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parse.rs:105:64 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn get_types_from_block(parse: &Value, block: &str, names: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:144:36 [INFO] [stderr] | [INFO] [stderr] 144 | let newline_split = cont.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:148:38 [INFO] [stderr] | [INFO] [stderr] 148 | let mut bang_split = s.split("!"); [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:161:45 [INFO] [stderr] | [INFO] [stderr] 161 | let mut colon_split = mapping.split(":"); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/data_structure.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / if self.tail == other.tail && self.head == other.head{ [INFO] [stderr] 12 | | return true; [INFO] [stderr] 13 | | } else { [INFO] [stderr] 14 | | return false; [INFO] [stderr] 15 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `return self.tail == other.tail && self.head == other.head` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/data_structure.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | } else if indents == 0 { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 104 | | //We've obviously gone too far. [INFO] [stderr] 105 | | continue; [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/data_structure.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | if e.is_block && e.is_below { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 100 | | //Skip closing blocks under these conditions - [INFO] [stderr] 101 | | //they have already been closed. [INFO] [stderr] 102 | | continue; [INFO] [stderr] 103 | | } else if indents == 0 { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:15:37 [INFO] [stderr] | [INFO] [stderr] 15 | generates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:16:37 [INFO] [stderr] | [INFO] [stderr] 16 | initiates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:17:38 [INFO] [stderr] | [INFO] [stderr] 17 | terminates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/function_gen.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn generate_function(type_map: &HashMap, [INFO] [stderr] 12 | | init_map: &HashMap, [INFO] [stderr] 13 | | function_name: String, [INFO] [stderr] 14 | | events: &HashMap>, [INFO] [stderr] ... | [INFO] [stderr] 108 | | return ret; [INFO] [stderr] 109 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/function_gen.rs:43:25 [INFO] [stderr] | [INFO] [stderr] 43 | let arg_start_idx = match static_first && public { [INFO] [stderr] | _________________________^ [INFO] [stderr] 44 | | true => 1, [INFO] [stderr] 45 | | false => 0, [INFO] [stderr] 46 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if static_first && public { 1 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | let cur_arg = my_args.get(i).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `my_args[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | let cur_type = arg_types.get(i).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arg_types[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | let end : String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:76:26 [INFO] [stderr] | [INFO] [stderr] 76 | let static_arg = my_args.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&my_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:77:27 [INFO] [stderr] | [INFO] [stderr] 77 | let static_type = arg_types.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&arg_types[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:113:38 [INFO] [stderr] | [INFO] [stderr] 113 | my_args: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:118:32 [INFO] [stderr] | [INFO] [stderr] 118 | let mut require : String = format!("require("); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"require(".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:122:23 [INFO] [stderr] | [INFO] [stderr] 122 | let cur_arg = my_args.get(i).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `my_args[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:145:47 [INFO] [stderr] | [INFO] [stderr] 145 | function_args: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:146:43 [INFO] [stderr] | [INFO] [stderr] 146 | generates: &Vec>>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let first_element = line.get(0).unwrap().get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&line[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:158:8 [INFO] [stderr] | [INFO] [stderr] 158 | if lines_to_inspect.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines_to_inspect.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/function_gen.rs:261:9 [INFO] [stderr] | [INFO] [stderr] 261 | / let limit: usize; [INFO] [stderr] 262 | | if has_conditional { [INFO] [stderr] 263 | | limit = generates.len()-1; [INFO] [stderr] 264 | | } else { [INFO] [stderr] 265 | | limit = generates.len(); [INFO] [stderr] 266 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let limit = if has_conditional { generates.len()-1 } else { generates.len() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:166:37 [INFO] [stderr] | [INFO] [stderr] 166 | let mut args: Vec = line.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&line[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:170:49 [INFO] [stderr] | [INFO] [stderr] 170 | let mut conditional_args: Vec = line.get(line.len()-2).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `line[line.len()-2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:173:12 [INFO] [stderr] | [INFO] [stderr] 173 | if conditional_args.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!conditional_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:178:16 [INFO] [stderr] | [INFO] [stderr] 178 | if conditional_args.get(0).unwrap() == "not" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&conditional_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/function_gen.rs:181:31 [INFO] [stderr] | [INFO] [stderr] 181 | conditional = String::from(conditional_args [INFO] [stderr] | _______________________________^ [INFO] [stderr] 182 | | .get(0).unwrap().clone()); [INFO] [stderr] | |____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `String::from()` [INFO] [stderr] | [INFO] [stderr] 181 | conditional = conditional_args [INFO] [stderr] 182 | .get(0).unwrap().clone(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:181:44 [INFO] [stderr] | [INFO] [stderr] 181 | conditional = String::from(conditional_args [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 182 | | .get(0).unwrap().clone()); [INFO] [stderr] | |___________________________________________________________^ help: try this: `&conditional_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/function_gen.rs:186:31 [INFO] [stderr] | [INFO] [stderr] 186 | conditional = String::from(conditional_args [INFO] [stderr] | _______________________________^ [INFO] [stderr] 187 | | .get(0).unwrap().clone()); [INFO] [stderr] | |____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `String::from()` [INFO] [stderr] | [INFO] [stderr] 186 | conditional = conditional_args [INFO] [stderr] 187 | .get(0).unwrap().clone(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:186:44 [INFO] [stderr] | [INFO] [stderr] 186 | conditional = String::from(conditional_args [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 187 | | .get(0).unwrap().clone()); [INFO] [stderr] | |___________________________________________________________^ help: try this: `&conditional_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:191:37 [INFO] [stderr] | [INFO] [stderr] 191 | let mut start: String = format!("if("); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using .to_string(): `"if(".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:193:27 [INFO] [stderr] | [INFO] [stderr] 193 | let arg = conditional_args.get(arg_idx).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `conditional_args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:198:32 [INFO] [stderr] | [INFO] [stderr] 198 | let comp = args.get(idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/function_gen.rs:205:24 [INFO] [stderr] | [INFO] [stderr] 205 | if negation == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `negation` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:221:31 [INFO] [stderr] | [INFO] [stderr] 221 | let end: String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:247:23 [INFO] [stderr] | [INFO] [stderr] 247 | let cur = line.get(word_idx).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `line[word_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:268:38 [INFO] [stderr] | [INFO] [stderr] 268 | let mut generates_args = generates.get(generates_idx).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `generates[generates_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/function_gen.rs:274:16 [INFO] [stderr] | [INFO] [stderr] 274 | if generates_args.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `generates_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:288:32 [INFO] [stderr] | [INFO] [stderr] 288 | let comp = args.get(idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:305:31 [INFO] [stderr] | [INFO] [stderr] 305 | let end: String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:326:58 [INFO] [stderr] | [INFO] [stderr] 326 | function_args: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:327:50 [INFO] [stderr] | [INFO] [stderr] 327 | lines: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/data_structure.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / if self.tail == other.tail && self.head == other.head{ [INFO] [stderr] 12 | | return true; [INFO] [stderr] 13 | | } else { [INFO] [stderr] 14 | | return false; [INFO] [stderr] 15 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `return self.tail == other.tail && self.head == other.head` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/function_gen.rs:331:26 [INFO] [stderr] | [INFO] [stderr] 331 | let set_to: String = match terminates { [INFO] [stderr] | __________________________^ [INFO] [stderr] 332 | | true => String::from("false"), [INFO] [stderr] 333 | | false => String::from("true"), [INFO] [stderr] 334 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if terminates { String::from("false") } else { String::from("true") }` [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/data_structure.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | } else if indents == 0 { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 104 | | //We've obviously gone too far. [INFO] [stderr] 105 | | continue; [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/data_structure.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | if e.is_block && e.is_below { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 100 | | //Skip closing blocks under these conditions - [INFO] [stderr] 101 | | //they have already been closed. [INFO] [stderr] 102 | | continue; [INFO] [stderr] 103 | | } else if indents == 0 { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:346:20 [INFO] [stderr] | [INFO] [stderr] 346 | let line = lines.get(line_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `lines[line_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:353:24 [INFO] [stderr] | [INFO] [stderr] 353 | let word = line.get(word_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `line[word_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:357:20 [INFO] [stderr] | [INFO] [stderr] 357 | if word.get(0).unwrap() == &function_name { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&word[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:370:20 [INFO] [stderr] | [INFO] [stderr] 370 | if word.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `word.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:376:37 [INFO] [stderr] | [INFO] [stderr] 376 | let first_element = word.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&word[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:385:32 [INFO] [stderr] | [INFO] [stderr] 385 | if cur_statement.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!cur_statement.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/function_gen.rs:415:29 [INFO] [stderr] | [INFO] [stderr] 415 | / let mut out_line : String; [INFO] [stderr] 416 | | if match_pos == 99 { [INFO] [stderr] 417 | | //Must be wildcard. [INFO] [stderr] 418 | | out_line = format!("{}_{}_wildcard_on_{} = {};", [INFO] [stderr] ... | [INFO] [stderr] 432 | | set_to); [INFO] [stderr] 433 | | } [INFO] [stderr] | |_____________________________^ help: it is more idiomatic to write: `let out_line = if match_pos == 99 { $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) } else { ..; $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:403:43 [INFO] [stderr] | [INFO] [stderr] 403 | let cur_arg = element_args.get(arg_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `element_args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:407:53 [INFO] [stderr] | [INFO] [stderr] 407 | let cur_match_arg = match_args [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 408 | | .get(match_arg_idx) [INFO] [stderr] 409 | | .unwrap(); [INFO] [stderr] | |_____________________________________________^ help: try this: `match_args[match_arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:442:39 [INFO] [stderr] | [INFO] [stderr] 442 | let cur_arg = element_args.get(arg_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `element_args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:446:49 [INFO] [stderr] | [INFO] [stderr] 446 | let cur_match_arg = match_args.get(match_arg_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `match_args[match_arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parse.rs:105:64 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn get_types_from_block(parse: &Value, block: &str, names: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:139:36 [INFO] [stderr] | [INFO] [stderr] 139 | ret.push(code_line_from_string(format!("//Permissions and empowerments."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Permissions and empowerments.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:140:36 [INFO] [stderr] | [INFO] [stderr] 140 | ret.push(code_line_from_string(format!("//Exogenous events."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Exogenous events.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: the variable `pos` is used as a loop counter. Consider using `for (pos, item) in types.enumerate()` or similar iterators [INFO] [stderr] --> src/contract_gen.rs:148:18 [INFO] [stderr] | [INFO] [stderr] 148 | for t in types { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:144:36 [INFO] [stderr] | [INFO] [stderr] 144 | let newline_split = cont.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:148:38 [INFO] [stderr] | [INFO] [stderr] 148 | let mut bang_split = s.split("!"); [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:161:45 [INFO] [stderr] | [INFO] [stderr] 161 | let mut colon_split = mapping.split(":"); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/data_structure.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / if self.tail == other.tail && self.head == other.head{ [INFO] [stderr] 12 | | return true; [INFO] [stderr] 13 | | } else { [INFO] [stderr] 14 | | return false; [INFO] [stderr] 15 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `return self.tail == other.tail && self.head == other.head` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:174:36 [INFO] [stderr] | [INFO] [stderr] 174 | ret.push(code_line_from_string(format!(""))); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:176:36 [INFO] [stderr] | [INFO] [stderr] 176 | ret.push(code_line_from_string(format!("//Inst events."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Inst events.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: the variable `pos` is used as a loop counter. Consider using `for (pos, item) in types.enumerate()` or similar iterators [INFO] [stderr] --> src/contract_gen.rs:181:18 [INFO] [stderr] | [INFO] [stderr] 181 | for t in types { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:206:36 [INFO] [stderr] | [INFO] [stderr] 206 | ret.push(code_line_from_string(format!(""))); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:207:36 [INFO] [stderr] | [INFO] [stderr] 207 | ret.push(code_line_from_string(format!("//Fluents"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Fluents".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:217:63 [INFO] [stderr] | [INFO] [stderr] 217 | type_map.get(args.get(arg_idx).unwrap()).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:222:36 [INFO] [stderr] | [INFO] [stderr] 222 | ret.push(code_line_from_string(format!(""))); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:231:37 [INFO] [stderr] | [INFO] [stderr] 231 | generates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:251:26 [INFO] [stderr] | [INFO] [stderr] 251 | let first_arg_type = types.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&types[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:276:36 [INFO] [stderr] | [INFO] [stderr] 276 | ret.push(code_line_from_string(format!("//Function calls for initial 'create_contract' event."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Function calls for initial 'create_contract' event.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:298:46 [INFO] [stderr] | [INFO] [stderr] 298 | fun_call += &format!("{}", init_map.get(first_arg_type).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `init_map.get(first_arg_type).unwrap().to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:307:48 [INFO] [stderr] | [INFO] [stderr] 307 | ret.push(code_line_from_string(format!("{}", fun_call))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `fun_call.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: this `if` has identical blocks [INFO] [stderr] --> src/data_structure.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | } else if indents == 0 { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 104 | | //We've obviously gone too far. [INFO] [stderr] 105 | | continue; [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/data_structure.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | if e.is_block && e.is_below { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 100 | | //Skip closing blocks under these conditions - [INFO] [stderr] 101 | | //they have already been closed. [INFO] [stderr] 102 | | continue; [INFO] [stderr] 103 | | } else if indents == 0 { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:321:34 [INFO] [stderr] | [INFO] [stderr] 321 | generates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:322:34 [INFO] [stderr] | [INFO] [stderr] 322 | initiates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:323:35 [INFO] [stderr] | [INFO] [stderr] 323 | terminates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:366:20 [INFO] [stderr] | [INFO] [stderr] 366 | let args = violation_events.get(&name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&violation_events[&name]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:368:23 [INFO] [stderr] | [INFO] [stderr] 368 | let arg = args.get(idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:377:28 [INFO] [stderr] | [INFO] [stderr] 377 | let end : String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parse.rs:105:64 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn get_types_from_block(parse: &Value, block: &str, names: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:144:36 [INFO] [stderr] | [INFO] [stderr] 144 | let newline_split = cont.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:148:38 [INFO] [stderr] | [INFO] [stderr] 148 | let mut bang_split = s.split("!"); [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse.rs:161:45 [INFO] [stderr] | [INFO] [stderr] 161 | let mut colon_split = mapping.split(":"); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/data_structure.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / if self.tail == other.tail && self.head == other.head{ [INFO] [stderr] 12 | | return true; [INFO] [stderr] 13 | | } else { [INFO] [stderr] 14 | | return false; [INFO] [stderr] 15 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `return self.tail == other.tail && self.head == other.head` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: Could not compile `translator`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/data_structure.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | } else if indents == 0 { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 104 | | //We've obviously gone too far. [INFO] [stderr] 105 | | continue; [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/data_structure.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | if e.is_block && e.is_below { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 100 | | //Skip closing blocks under these conditions - [INFO] [stderr] 101 | | //they have already been closed. [INFO] [stderr] 102 | | continue; [INFO] [stderr] 103 | | } else if indents == 0 { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/data_structure.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | ret = ret + " "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ret += " "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:15:37 [INFO] [stderr] | [INFO] [stderr] 15 | generates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:16:37 [INFO] [stderr] | [INFO] [stderr] 16 | initiates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:17:38 [INFO] [stderr] | [INFO] [stderr] 17 | terminates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/function_gen.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn generate_function(type_map: &HashMap, [INFO] [stderr] 12 | | init_map: &HashMap, [INFO] [stderr] 13 | | function_name: String, [INFO] [stderr] 14 | | events: &HashMap>, [INFO] [stderr] ... | [INFO] [stderr] 108 | | return ret; [INFO] [stderr] 109 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/function_gen.rs:43:25 [INFO] [stderr] | [INFO] [stderr] 43 | let arg_start_idx = match static_first && public { [INFO] [stderr] | _________________________^ [INFO] [stderr] 44 | | true => 1, [INFO] [stderr] 45 | | false => 0, [INFO] [stderr] 46 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if static_first && public { 1 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | let cur_arg = my_args.get(i).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `my_args[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | let cur_type = arg_types.get(i).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arg_types[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | let end : String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:76:26 [INFO] [stderr] | [INFO] [stderr] 76 | let static_arg = my_args.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&my_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:77:27 [INFO] [stderr] | [INFO] [stderr] 77 | let static_type = arg_types.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&arg_types[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:113:38 [INFO] [stderr] | [INFO] [stderr] 113 | my_args: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:118:32 [INFO] [stderr] | [INFO] [stderr] 118 | let mut require : String = format!("require("); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"require(".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:122:23 [INFO] [stderr] | [INFO] [stderr] 122 | let cur_arg = my_args.get(i).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `my_args[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:145:47 [INFO] [stderr] | [INFO] [stderr] 145 | function_args: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:146:43 [INFO] [stderr] | [INFO] [stderr] 146 | generates: &Vec>>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | let first_element = line.get(0).unwrap().get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&line[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:158:8 [INFO] [stderr] | [INFO] [stderr] 158 | if lines_to_inspect.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines_to_inspect.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/function_gen.rs:261:9 [INFO] [stderr] | [INFO] [stderr] 261 | / let limit: usize; [INFO] [stderr] 262 | | if has_conditional { [INFO] [stderr] 263 | | limit = generates.len()-1; [INFO] [stderr] 264 | | } else { [INFO] [stderr] 265 | | limit = generates.len(); [INFO] [stderr] 266 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let limit = if has_conditional { generates.len()-1 } else { generates.len() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:166:37 [INFO] [stderr] | [INFO] [stderr] 166 | let mut args: Vec = line.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&line[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:170:49 [INFO] [stderr] | [INFO] [stderr] 170 | let mut conditional_args: Vec = line.get(line.len()-2).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `line[line.len()-2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:173:12 [INFO] [stderr] | [INFO] [stderr] 173 | if conditional_args.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!conditional_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:178:16 [INFO] [stderr] | [INFO] [stderr] 178 | if conditional_args.get(0).unwrap() == "not" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&conditional_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/function_gen.rs:181:31 [INFO] [stderr] | [INFO] [stderr] 181 | conditional = String::from(conditional_args [INFO] [stderr] | _______________________________^ [INFO] [stderr] 182 | | .get(0).unwrap().clone()); [INFO] [stderr] | |____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `String::from()` [INFO] [stderr] | [INFO] [stderr] 181 | conditional = conditional_args [INFO] [stderr] 182 | .get(0).unwrap().clone(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:181:44 [INFO] [stderr] | [INFO] [stderr] 181 | conditional = String::from(conditional_args [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 182 | | .get(0).unwrap().clone()); [INFO] [stderr] | |___________________________________________________________^ help: try this: `&conditional_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/function_gen.rs:186:31 [INFO] [stderr] | [INFO] [stderr] 186 | conditional = String::from(conditional_args [INFO] [stderr] | _______________________________^ [INFO] [stderr] 187 | | .get(0).unwrap().clone()); [INFO] [stderr] | |____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `String::from()` [INFO] [stderr] | [INFO] [stderr] 186 | conditional = conditional_args [INFO] [stderr] 187 | .get(0).unwrap().clone(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:186:44 [INFO] [stderr] | [INFO] [stderr] 186 | conditional = String::from(conditional_args [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 187 | | .get(0).unwrap().clone()); [INFO] [stderr] | |___________________________________________________________^ help: try this: `&conditional_args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:191:37 [INFO] [stderr] | [INFO] [stderr] 191 | let mut start: String = format!("if("); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using .to_string(): `"if(".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:193:27 [INFO] [stderr] | [INFO] [stderr] 193 | let arg = conditional_args.get(arg_idx).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `conditional_args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:198:32 [INFO] [stderr] | [INFO] [stderr] 198 | let comp = args.get(idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/function_gen.rs:205:24 [INFO] [stderr] | [INFO] [stderr] 205 | if negation == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `negation` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:221:31 [INFO] [stderr] | [INFO] [stderr] 221 | let end: String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:247:23 [INFO] [stderr] | [INFO] [stderr] 247 | let cur = line.get(word_idx).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `line[word_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:268:38 [INFO] [stderr] | [INFO] [stderr] 268 | let mut generates_args = generates.get(generates_idx).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `generates[generates_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/function_gen.rs:274:16 [INFO] [stderr] | [INFO] [stderr] 274 | if generates_args.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `generates_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:288:32 [INFO] [stderr] | [INFO] [stderr] 288 | let comp = args.get(idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/function_gen.rs:305:31 [INFO] [stderr] | [INFO] [stderr] 305 | let end: String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:326:58 [INFO] [stderr] | [INFO] [stderr] 326 | function_args: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_gen.rs:327:50 [INFO] [stderr] | [INFO] [stderr] 327 | lines: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/function_gen.rs:331:26 [INFO] [stderr] | [INFO] [stderr] 331 | let set_to: String = match terminates { [INFO] [stderr] | __________________________^ [INFO] [stderr] 332 | | true => String::from("false"), [INFO] [stderr] 333 | | false => String::from("true"), [INFO] [stderr] 334 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if terminates { String::from("false") } else { String::from("true") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:346:20 [INFO] [stderr] | [INFO] [stderr] 346 | let line = lines.get(line_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `lines[line_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:353:24 [INFO] [stderr] | [INFO] [stderr] 353 | let word = line.get(word_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `line[word_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:357:20 [INFO] [stderr] | [INFO] [stderr] 357 | if word.get(0).unwrap() == &function_name { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&word[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:370:20 [INFO] [stderr] | [INFO] [stderr] 370 | if word.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `word.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:376:37 [INFO] [stderr] | [INFO] [stderr] 376 | let first_element = word.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&word[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_gen.rs:385:32 [INFO] [stderr] | [INFO] [stderr] 385 | if cur_statement.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!cur_statement.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/function_gen.rs:415:29 [INFO] [stderr] | [INFO] [stderr] 415 | / let mut out_line : String; [INFO] [stderr] 416 | | if match_pos == 99 { [INFO] [stderr] 417 | | //Must be wildcard. [INFO] [stderr] 418 | | out_line = format!("{}_{}_wildcard_on_{} = {};", [INFO] [stderr] ... | [INFO] [stderr] 432 | | set_to); [INFO] [stderr] 433 | | } [INFO] [stderr] | |_____________________________^ help: it is more idiomatic to write: `let out_line = if match_pos == 99 { $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) } else { ..; $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:403:43 [INFO] [stderr] | [INFO] [stderr] 403 | let cur_arg = element_args.get(arg_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `element_args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:407:53 [INFO] [stderr] | [INFO] [stderr] 407 | let cur_match_arg = match_args [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 408 | | .get(match_arg_idx) [INFO] [stderr] 409 | | .unwrap(); [INFO] [stderr] | |_____________________________________________^ help: try this: `match_args[match_arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:442:39 [INFO] [stderr] | [INFO] [stderr] 442 | let cur_arg = element_args.get(arg_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `element_args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/function_gen.rs:446:49 [INFO] [stderr] | [INFO] [stderr] 446 | let cur_match_arg = match_args.get(match_arg_idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `match_args[match_arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:139:36 [INFO] [stderr] | [INFO] [stderr] 139 | ret.push(code_line_from_string(format!("//Permissions and empowerments."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Permissions and empowerments.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:140:36 [INFO] [stderr] | [INFO] [stderr] 140 | ret.push(code_line_from_string(format!("//Exogenous events."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Exogenous events.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: the variable `pos` is used as a loop counter. Consider using `for (pos, item) in types.enumerate()` or similar iterators [INFO] [stderr] --> src/contract_gen.rs:148:18 [INFO] [stderr] | [INFO] [stderr] 148 | for t in types { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:174:36 [INFO] [stderr] | [INFO] [stderr] 174 | ret.push(code_line_from_string(format!(""))); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:176:36 [INFO] [stderr] | [INFO] [stderr] 176 | ret.push(code_line_from_string(format!("//Inst events."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Inst events.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: the variable `pos` is used as a loop counter. Consider using `for (pos, item) in types.enumerate()` or similar iterators [INFO] [stderr] --> src/contract_gen.rs:181:18 [INFO] [stderr] | [INFO] [stderr] 181 | for t in types { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:206:36 [INFO] [stderr] | [INFO] [stderr] 206 | ret.push(code_line_from_string(format!(""))); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:207:36 [INFO] [stderr] | [INFO] [stderr] 207 | ret.push(code_line_from_string(format!("//Fluents"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Fluents".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:217:63 [INFO] [stderr] | [INFO] [stderr] 217 | type_map.get(args.get(arg_idx).unwrap()).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[arg_idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:222:36 [INFO] [stderr] | [INFO] [stderr] 222 | ret.push(code_line_from_string(format!(""))); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:231:37 [INFO] [stderr] | [INFO] [stderr] 231 | generates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:251:26 [INFO] [stderr] | [INFO] [stderr] 251 | let first_arg_type = types.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&types[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:276:36 [INFO] [stderr] | [INFO] [stderr] 276 | ret.push(code_line_from_string(format!("//Function calls for initial 'create_contract' event."))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"//Function calls for initial 'create_contract' event.".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:298:46 [INFO] [stderr] | [INFO] [stderr] 298 | fun_call += &format!("{}", init_map.get(first_arg_type).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `init_map.get(first_arg_type).unwrap().to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:307:48 [INFO] [stderr] | [INFO] [stderr] 307 | ret.push(code_line_from_string(format!("{}", fun_call))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `fun_call.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:321:34 [INFO] [stderr] | [INFO] [stderr] 321 | generates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:322:34 [INFO] [stderr] | [INFO] [stderr] 322 | initiates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/contract_gen.rs:323:35 [INFO] [stderr] | [INFO] [stderr] 323 | terminates: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:366:20 [INFO] [stderr] | [INFO] [stderr] 366 | let args = violation_events.get(&name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&violation_events[&name]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/contract_gen.rs:368:23 [INFO] [stderr] | [INFO] [stderr] 368 | let arg = args.get(idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `args[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/contract_gen.rs:377:28 [INFO] [stderr] | [INFO] [stderr] 377 | let end : String = format!("}}"); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using .to_string(): `"}}".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `translator`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3d68548390e3c2f220d5626aef7537b3ca87176f1a5db5c2eaaf5ea810481e1c"` [INFO] running `"docker" "rm" "-f" "3d68548390e3c2f220d5626aef7537b3ca87176f1a5db5c2eaaf5ea810481e1c"` [INFO] [stdout] 3d68548390e3c2f220d5626aef7537b3ca87176f1a5db5c2eaaf5ea810481e1c