[INFO] crate mustache 0.9.0 is already in cache [INFO] extracting crate mustache 0.9.0 into work/ex/clippy-test-run/sources/stable/reg/mustache/0.9.0 [INFO] extracting crate mustache 0.9.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mustache/0.9.0 [INFO] validating manifest of mustache-0.9.0 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 mustache-0.9.0 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 mustache-0.9.0 [INFO] removed 0 missing tests [INFO] finished frobbing mustache-0.9.0 [INFO] frobbed toml for mustache-0.9.0 written to work/ex/clippy-test-run/sources/stable/reg/mustache/0.9.0/Cargo.toml [INFO] started frobbing mustache-0.9.0 [INFO] removed 0 missing tests [INFO] finished frobbing mustache-0.9.0 [INFO] frobbed toml for mustache-0.9.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mustache/0.9.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 mustache-0.9.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/mustache/0.9.0:/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] 1639ea3859130325f81bfe891c0d429f48e2b481424cbf0001f8c2c2e4bb7a6f [INFO] running `"docker" "start" "-a" "1639ea3859130325f81bfe891c0d429f48e2b481424cbf0001f8c2c2e4bb7a6f"` [INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other test targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a test target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/tests/macros.rs [INFO] [stderr] * /opt/crater/workdir/tests/builder.rs [INFO] [stderr] * /opt/crater/workdir/tests/template.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autotests = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Checking mustache v0.9.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | Ok(MapBuilder { data: data }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | Ok(MapBuilder { data: data }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:59:22 [INFO] [stderr] | [INFO] [stderr] 59 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:77:22 [INFO] [stderr] | [INFO] [stderr] 77 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:129:22 [INFO] [stderr] | [INFO] [stderr] 129 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:150:22 [INFO] [stderr] | [INFO] [stderr] 150 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | Ok(VecBuilder { data: data }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:202:22 [INFO] [stderr] | [INFO] [stderr] 202 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:218:22 [INFO] [stderr] | [INFO] [stderr] 218 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:240:22 [INFO] [stderr] | [INFO] [stderr] 240 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:267:22 [INFO] [stderr] | [INFO] [stderr] 267 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:59:22 [INFO] [stderr] | [INFO] [stderr] 59 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:288:22 [INFO] [stderr] | [INFO] [stderr] 288 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:77:22 [INFO] [stderr] | [INFO] [stderr] 77 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:129:22 [INFO] [stderr] | [INFO] [stderr] 129 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:150:22 [INFO] [stderr] | [INFO] [stderr] 150 | MapBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | partials: partials, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | otag: otag, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `otag` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | Ok(VecBuilder { data: data }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | ctag: ctag, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `ctag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:202:22 [INFO] [stderr] | [INFO] [stderr] 202 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:106:13 [INFO] [stderr] | [INFO] [stderr] 106 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:218:22 [INFO] [stderr] | [INFO] [stderr] 218 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:240:22 [INFO] [stderr] | [INFO] [stderr] 240 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:267:22 [INFO] [stderr] | [INFO] [stderr] 267 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:288:22 [INFO] [stderr] | [INFO] [stderr] 288 | VecBuilder { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | partials: partials, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | otag: otag, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `otag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/compiler.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | ctag: ctag, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `ctag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:106:13 [INFO] [stderr] | [INFO] [stderr] 106 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | tokens: tokens, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | partials: partials, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | template: template, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `template` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | tokens: tokens, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | partials: partials, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/template.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | template: template, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `template` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/compiler.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | / if !self.partials.contains_key(&name) { [INFO] [stderr] 63 | | // Insert a placeholder so we don't recurse off to infinity. [INFO] [stderr] 64 | | self.partials.insert(name.to_string(), Vec::new()); [INFO] [stderr] 65 | | [INFO] [stderr] ... | [INFO] [stderr] 90 | | } [INFO] [stderr] 91 | | } [INFO] [stderr] | |_____________^ help: consider using: `self.partials.entry(name)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/parser.rs:190:29 [INFO] [stderr] | [INFO] [stderr] 190 | self.tag_position = self.tag_position + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.tag_position += 1` [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: this boolean expression can be simplified [INFO] [stderr] --> src/parser.rs:543:16 [INFO] [stderr] | [INFO] [stderr] 543 | if !(i < self.tag_position) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i >= self.tag_position` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/parser.rs:552:16 [INFO] [stderr] | [INFO] [stderr] 552 | if !(i < self.tag_position) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i >= self.tag_position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/template.rs:149:39 [INFO] [stderr] | [INFO] [stderr] 149 | let line = &v[..i + 1]; [INFO] [stderr] | ^^^^^^^ help: use: `..=i` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/template.rs:251:5 [INFO] [stderr] | [INFO] [stderr] 251 | / fn render_section(&mut self, [INFO] [stderr] 252 | | wr: &mut W, [INFO] [stderr] 253 | | stack: &mut Vec<&Data>, [INFO] [stderr] 254 | | path: &[String], [INFO] [stderr] ... | [INFO] [stderr] 298 | | Ok(()) [INFO] [stderr] 299 | | } [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 use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/template.rs:324:22 [INFO] [stderr] | [INFO] [stderr] 324 | f: &mut Box String + Send + 'static>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut FnMut(String) -> String + Send + 'static` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/template.rs:355:13 [INFO] [stderr] | [INFO] [stderr] 355 | / match **data { [INFO] [stderr] 356 | | Data::Map(ref m) => { [INFO] [stderr] 357 | | if let Some(v) = m.get(&path[0]) { [INFO] [stderr] 358 | | value = Some(v); [INFO] [stderr] ... | [INFO] [stderr] 362 | | _ => { /* continue searching the stack */ }, [INFO] [stderr] 363 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 355 | if let Data::Map(ref m) = **data { [INFO] [stderr] 356 | if let Some(v) = m.get(&path[0]) { [INFO] [stderr] 357 | value = Some(v); [INFO] [stderr] 358 | break; [INFO] [stderr] 359 | } [INFO] [stderr] 360 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:52:46 [INFO] [stderr] | [INFO] [stderr] 52 | let template_dir = path.parent().unwrap_or(Path::new(".")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Path::new("."))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> tests/template.rs:514:9 [INFO] [stderr] | [INFO] [stderr] 514 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/compiler.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | / if !self.partials.contains_key(&name) { [INFO] [stderr] 63 | | // Insert a placeholder so we don't recurse off to infinity. [INFO] [stderr] 64 | | self.partials.insert(name.to_string(), Vec::new()); [INFO] [stderr] 65 | | [INFO] [stderr] ... | [INFO] [stderr] 90 | | } [INFO] [stderr] 91 | | } [INFO] [stderr] | |_____________^ help: consider using: `self.partials.entry(name)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/parser.rs:190:29 [INFO] [stderr] | [INFO] [stderr] 190 | self.tag_position = self.tag_position + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.tag_position += 1` [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: this boolean expression can be simplified [INFO] [stderr] --> src/parser.rs:543:16 [INFO] [stderr] | [INFO] [stderr] 543 | if !(i < self.tag_position) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i >= self.tag_position` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/parser.rs:552:16 [INFO] [stderr] | [INFO] [stderr] 552 | if !(i < self.tag_position) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i >= self.tag_position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/parser.rs:596:22 [INFO] [stderr] | [INFO] [stderr] 596 | parse(input).expect(&format!("Failed to parse: {}", input)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Failed to parse: {}", input))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/template.rs:149:39 [INFO] [stderr] | [INFO] [stderr] 149 | let line = &v[..i + 1]; [INFO] [stderr] | ^^^^^^^ help: use: `..=i` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/template.rs:251:5 [INFO] [stderr] | [INFO] [stderr] 251 | / fn render_section(&mut self, [INFO] [stderr] 252 | | wr: &mut W, [INFO] [stderr] 253 | | stack: &mut Vec<&Data>, [INFO] [stderr] 254 | | path: &[String], [INFO] [stderr] ... | [INFO] [stderr] 298 | | Ok(()) [INFO] [stderr] 299 | | } [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 use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/template.rs:324:22 [INFO] [stderr] | [INFO] [stderr] 324 | f: &mut Box String + Send + 'static>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut FnMut(String) -> String + Send + 'static` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/template.rs:355:13 [INFO] [stderr] | [INFO] [stderr] 355 | / match **data { [INFO] [stderr] 356 | | Data::Map(ref m) => { [INFO] [stderr] 357 | | if let Some(v) = m.get(&path[0]) { [INFO] [stderr] 358 | | value = Some(v); [INFO] [stderr] ... | [INFO] [stderr] 362 | | _ => { /* continue searching the stack */ }, [INFO] [stderr] 363 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 355 | if let Data::Map(ref m) = **data { [INFO] [stderr] 356 | if let Some(v) = m.get(&path[0]) { [INFO] [stderr] 357 | value = Some(v); [INFO] [stderr] 358 | break; [INFO] [stderr] 359 | } [INFO] [stderr] 360 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:52:46 [INFO] [stderr] | [INFO] [stderr] 52 | let template_dir = path.parent().unwrap_or(Path::new(".")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Path::new("."))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/template.rs:283:21 [INFO] [stderr] | [INFO] [stderr] 283 | population: 7300000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `7_300_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> tests/template.rs:36:30 [INFO] [stderr] | [INFO] [stderr] 36 | mustache::compile_str(s).expect(&format!("Failed to compile: {}", s)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Failed to compile: {}", s))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> tests/template.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | opt: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_option)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> tests/template.rs:461:10 [INFO] [stderr] | [INFO] [stderr] 461 | .expect(&format!("Could not read file {}", path.display())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not read file {}", path.display()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> tests/template.rs:463:10 [INFO] [stderr] | [INFO] [stderr] 463 | .expect(&format!("Invalid json in file {}", path.display())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Invalid json in file {}", path.display()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> tests/template.rs:504:24 [INFO] [stderr] | [INFO] [stderr] 504 | .expect(&format!("Failed to compile: {}", template)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Failed to compile: {}", template))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.93s [INFO] running `"docker" "inspect" "1639ea3859130325f81bfe891c0d429f48e2b481424cbf0001f8c2c2e4bb7a6f"` [INFO] running `"docker" "rm" "-f" "1639ea3859130325f81bfe891c0d429f48e2b481424cbf0001f8c2c2e4bb7a6f"` [INFO] [stdout] 1639ea3859130325f81bfe891c0d429f48e2b481424cbf0001f8c2c2e4bb7a6f