[INFO] fetching crate mustache 0.9.0... [INFO] linting mustache-0.9.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate mustache 0.9.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate mustache 0.9.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate mustache 0.9.0 [INFO] tweaked toml for crates.io crate mustache 0.9.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate mustache 0.9.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 24 packages to latest compatible versions [INFO] [stderr] Adding log v0.3.9 (available: v0.4.29) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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] * tests/builder.rs [INFO] [stderr] * tests/macros.rs [INFO] [stderr] * 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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 627b2adf9b882e16a556d02e457ee6a044ae8de42aaab155b13035300bf13ea4 [INFO] running `Command { std: "docker" "start" "-a" "627b2adf9b882e16a556d02e457ee6a044ae8de42aaab155b13035300bf13ea4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "627b2adf9b882e16a556d02e457ee6a044ae8de42aaab155b13035300bf13ea4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "627b2adf9b882e16a556d02e457ee6a044ae8de42aaab155b13035300bf13ea4", kill_on_drop: false }` [INFO] [stdout] 627b2adf9b882e16a556d02e457ee6a044ae8de42aaab155b13035300bf13ea4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 050eacfb9c2326a7c992365a3a26f39f77747ee5e43bc68ebba9fd3f7c3a39d2 [INFO] running `Command { std: "docker" "start" "-a" "050eacfb9c2326a7c992365a3a26f39f77747ee5e43bc68ebba9fd3f7c3a39d2", kill_on_drop: false }` [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] * tests/builder.rs [INFO] [stderr] * tests/macros.rs [INFO] [stderr] * 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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Checking mustache v0.9.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:40:25 [INFO] [stdout] | [INFO] [stdout] 40 | Ok(MapBuilder { data: data }) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:77:22 [INFO] [stdout] | [INFO] [stdout] 77 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:100:22 [INFO] [stdout] | [INFO] [stdout] 100 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:129:22 [INFO] [stdout] | [INFO] [stdout] 129 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:150:22 [INFO] [stdout] | [INFO] [stdout] 150 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | Ok(VecBuilder { data: data }) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:202:22 [INFO] [stdout] | [INFO] [stdout] 202 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:218:22 [INFO] [stdout] | [INFO] [stdout] 218 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:240:22 [INFO] [stdout] | [INFO] [stdout] 240 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:267:22 [INFO] [stdout] | [INFO] [stdout] 267 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:288:22 [INFO] [stdout] | [INFO] [stdout] 288 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | ctx: ctx, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | reader: reader, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | ctx: ctx, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | reader: reader, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | partials: partials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | otag: otag, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `otag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | ctag: ctag, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `ctag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/compiler.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | try!(parser.parse()) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/compiler.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | try!(file.read_to_string(&mut string)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/compiler.rs:79:53 [INFO] [stdout] | [INFO] [stdout] 79 | let (tokens, subpartials) = try!(compiler.compile()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/context.rs:40:34 [INFO] [stdout] | [INFO] [stdout] 40 | let (tokens, partials) = try!(compiler.compile()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/context.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | try!(file.read_to_end(&mut s)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/context.rs:52:24 [INFO] [stdout] | [INFO] [stdout] 52 | let mut file = try!(File::open(&path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:154:23 [INFO] [stdout] | [INFO] [stdout] 154 | fn serialize_some(self, value: &T) -> Result [INFO] [stdout] | ^ [INFO] [stdout] 155 | where [INFO] [stdout] 156 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:182:33 [INFO] [stdout] | [INFO] [stdout] 182 | fn serialize_newtype_struct( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 188 | T: Serialize, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:194:34 [INFO] [stdout] | [INFO] [stdout] 194 | fn serialize_newtype_variant( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 202 | T: Serialize, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:282:26 [INFO] [stdout] | [INFO] [stdout] 282 | fn serialize_element(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 283 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:298:26 [INFO] [stdout] | [INFO] [stdout] 298 | fn serialize_element(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 299 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:313:24 [INFO] [stdout] | [INFO] [stdout] 313 | fn serialize_field(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 314 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:328:24 [INFO] [stdout] | [INFO] [stdout] 328 | fn serialize_field(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 329 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/encoder.rs:331:23 [INFO] [stdout] | [INFO] [stdout] 331 | self.vec.push(try!(to_data(&value))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:348:22 [INFO] [stdout] | [INFO] [stdout] 348 | fn serialize_key(&mut self, key: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 349 | where [INFO] [stdout] 350 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:361:24 [INFO] [stdout] | [INFO] [stdout] 361 | fn serialize_value(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 362 | where [INFO] [stdout] 363 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/encoder.rs:369:30 [INFO] [stdout] | [INFO] [stdout] 369 | self.map.insert(key, try!(to_data(&value))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:382:24 [INFO] [stdout] | [INFO] [stdout] 382 | fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 383 | where [INFO] [stdout] 384 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:399:24 [INFO] [stdout] | [INFO] [stdout] 399 | fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 400 | where [INFO] [stdout] 401 | T: Serialize, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | reader: reader, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:216:29 [INFO] [stdout] | [INFO] [stdout] 216 | ... try!(self.add_tag()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:227:29 [INFO] [stdout] | [INFO] [stdout] 227 | ... try!(self.add_tag()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | try!(deny_blank(&content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:375:28 [INFO] [stdout] | [INFO] [stdout] 375 | let name = try!(get_name_or_implicit(name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:381:32 [INFO] [stdout] | [INFO] [stdout] 381 | let name = try!(get_name_or_implicit(name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:390:28 [INFO] [stdout] | [INFO] [stdout] 390 | let name = try!(get_name_or_implicit(&content[1..len])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:396:28 [INFO] [stdout] | [INFO] [stdout] 396 | let name = try!(get_name_or_implicit(&content[1..len])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:402:28 [INFO] [stdout] | [INFO] [stdout] 402 | let name = try!(get_name_or_implicit(&content[1..len])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:462:17 [INFO] [stdout] | [INFO] [stdout] 462 | try!(self.add_partial(&content, tag)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:468:29 [INFO] [stdout] | [INFO] [stdout] 468 | let s = try!(deny_blank(&content[1..len - 1])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:495:28 [INFO] [stdout] | [INFO] [stdout] 495 | let name = try!(get_name_or_implicit(&content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:533:20 [INFO] [stdout] | [INFO] [stdout] 533 | let name = try!(deny_blank(name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:563:16 [INFO] [stdout] | [INFO] [stdout] 563 | let name = try!(deny_blank(&name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | ctx: ctx, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | tokens: tokens, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | partials: partials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | try!(self.render(&mut output, data)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | try!(self.render_data(&mut output, data)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | template: template, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `template` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | try!(self.render_token(wr, stack, token)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | try!(wr.write_all(value.as_bytes())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | try!(wr.write_all(self.indent.as_bytes())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | try!(self.write_tracking_newlines(wr, line)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | try!(self.write_indent(wr)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | try!(self.render_utag(&mut bytes, stack, path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | try!(wr.write_all(b"<")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | try!(wr.write_all(b">")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | try!(wr.write_all(b"&")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | try!(wr.write_all(b""")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | try!(wr.write_all(b"'")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | try!(wr.write_all(&[b])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | try!(self.write_indent(wr)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:213:25 [INFO] [stdout] | [INFO] [stdout] 213 | try!(self.write_tracking_newlines(wr, value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:220:25 [INFO] [stdout] | [INFO] [stdout] 220 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | let tokens = try!(self.render_fun("", "{{", "}}", f)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:267:25 [INFO] [stdout] | [INFO] [stdout] 267 | try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:273:29 [INFO] [stdout] | [INFO] [stdout] 273 | ... try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:280:29 [INFO] [stdout] | [INFO] [stdout] 280 | ... try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:286:25 [INFO] [stdout] | [INFO] [stdout] 286 | try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:291:38 [INFO] [stdout] | [INFO] [stdout] 291 | let tokens = try!(self.render_fun(src, otag, ctag, f)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:334:27 [INFO] [stdout] | [INFO] [stdout] 334 | let (tokens, _) = try!(compiler.compile()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | Fun(RefCell String + Send>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | Fun(RefCell String + Send>>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/template.rs:324:31 [INFO] [stdout] | [INFO] [stdout] 324 | f: &mut Box String + Send + 'static>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 324 | f: &mut Box String + Send + 'static>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:40:25 [INFO] [stdout] | [INFO] [stdout] 40 | Ok(MapBuilder { data: data }) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:77:22 [INFO] [stdout] | [INFO] [stdout] 77 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:100:22 [INFO] [stdout] | [INFO] [stdout] 100 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:129:22 [INFO] [stdout] | [INFO] [stdout] 129 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:150:22 [INFO] [stdout] | [INFO] [stdout] 150 | MapBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | Ok(VecBuilder { data: data }) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:202:22 [INFO] [stdout] | [INFO] [stdout] 202 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:218:22 [INFO] [stdout] | [INFO] [stdout] 218 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:240:22 [INFO] [stdout] | [INFO] [stdout] 240 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:267:22 [INFO] [stdout] | [INFO] [stdout] 267 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/builder.rs:288:22 [INFO] [stdout] | [INFO] [stdout] 288 | VecBuilder { data: data } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | ctx: ctx, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | reader: reader, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | ctx: ctx, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | reader: reader, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | partials: partials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | otag: otag, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `otag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compiler.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | ctag: ctag, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `ctag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/compiler.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | try!(parser.parse()) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/compiler.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | try!(file.read_to_string(&mut string)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/compiler.rs:79:53 [INFO] [stdout] | [INFO] [stdout] 79 | let (tokens, subpartials) = try!(compiler.compile()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/context.rs:40:34 [INFO] [stdout] | [INFO] [stdout] 40 | let (tokens, partials) = try!(compiler.compile()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/context.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | try!(file.read_to_end(&mut s)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/context.rs:52:24 [INFO] [stdout] | [INFO] [stdout] 52 | let mut file = try!(File::open(&path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:154:23 [INFO] [stdout] | [INFO] [stdout] 154 | fn serialize_some(self, value: &T) -> Result [INFO] [stdout] | ^ [INFO] [stdout] 155 | where [INFO] [stdout] 156 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:182:33 [INFO] [stdout] | [INFO] [stdout] 182 | fn serialize_newtype_struct( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 188 | T: Serialize, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:194:34 [INFO] [stdout] | [INFO] [stdout] 194 | fn serialize_newtype_variant( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 202 | T: Serialize, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:282:26 [INFO] [stdout] | [INFO] [stdout] 282 | fn serialize_element(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 283 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:298:26 [INFO] [stdout] | [INFO] [stdout] 298 | fn serialize_element(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 299 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:313:24 [INFO] [stdout] | [INFO] [stdout] 313 | fn serialize_field(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 314 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:328:24 [INFO] [stdout] | [INFO] [stdout] 328 | fn serialize_field(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 329 | where T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/encoder.rs:331:23 [INFO] [stdout] | [INFO] [stdout] 331 | self.vec.push(try!(to_data(&value))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:348:22 [INFO] [stdout] | [INFO] [stdout] 348 | fn serialize_key(&mut self, key: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 349 | where [INFO] [stdout] 350 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:361:24 [INFO] [stdout] | [INFO] [stdout] 361 | fn serialize_value(&mut self, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 362 | where [INFO] [stdout] 363 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/encoder.rs:369:30 [INFO] [stdout] | [INFO] [stdout] 369 | self.map.insert(key, try!(to_data(&value))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:382:24 [INFO] [stdout] | [INFO] [stdout] 382 | fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 383 | where [INFO] [stdout] 384 | T: Serialize [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/encoder.rs:399:24 [INFO] [stdout] | [INFO] [stdout] 399 | fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 400 | where [INFO] [stdout] 401 | T: Serialize, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | reader: reader, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:216:29 [INFO] [stdout] | [INFO] [stdout] 216 | ... try!(self.add_tag()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:227:29 [INFO] [stdout] | [INFO] [stdout] 227 | ... try!(self.add_tag()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | try!(deny_blank(&content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:375:28 [INFO] [stdout] | [INFO] [stdout] 375 | let name = try!(get_name_or_implicit(name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:381:32 [INFO] [stdout] | [INFO] [stdout] 381 | let name = try!(get_name_or_implicit(name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:390:28 [INFO] [stdout] | [INFO] [stdout] 390 | let name = try!(get_name_or_implicit(&content[1..len])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:396:28 [INFO] [stdout] | [INFO] [stdout] 396 | let name = try!(get_name_or_implicit(&content[1..len])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:402:28 [INFO] [stdout] | [INFO] [stdout] 402 | let name = try!(get_name_or_implicit(&content[1..len])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:462:17 [INFO] [stdout] | [INFO] [stdout] 462 | try!(self.add_partial(&content, tag)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:468:29 [INFO] [stdout] | [INFO] [stdout] 468 | let s = try!(deny_blank(&content[1..len - 1])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:495:28 [INFO] [stdout] | [INFO] [stdout] 495 | let name = try!(get_name_or_implicit(&content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:533:20 [INFO] [stdout] | [INFO] [stdout] 533 | let name = try!(deny_blank(name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:563:16 [INFO] [stdout] | [INFO] [stdout] 563 | let name = try!(deny_blank(&name)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | ctx: ctx, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | tokens: tokens, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | partials: partials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `partials` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | try!(self.render(&mut output, data)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | try!(self.render_data(&mut output, data)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/template.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | template: template, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `template` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | try!(self.render_token(wr, stack, token)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | try!(wr.write_all(value.as_bytes())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | try!(wr.write_all(self.indent.as_bytes())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | try!(self.write_tracking_newlines(wr, line)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | try!(self.write_indent(wr)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | try!(self.render_utag(&mut bytes, stack, path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | try!(wr.write_all(b"<")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | try!(wr.write_all(b">")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | try!(wr.write_all(b"&")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | try!(wr.write_all(b""")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | try!(wr.write_all(b"'")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | try!(wr.write_all(&[b])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | try!(self.write_indent(wr)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:213:25 [INFO] [stdout] | [INFO] [stdout] 213 | try!(self.write_tracking_newlines(wr, value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:220:25 [INFO] [stdout] | [INFO] [stdout] 220 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | let tokens = try!(self.render_fun("", "{{", "}}", f)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:267:25 [INFO] [stdout] | [INFO] [stdout] 267 | try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:273:29 [INFO] [stdout] | [INFO] [stdout] 273 | ... try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:280:29 [INFO] [stdout] | [INFO] [stdout] 280 | ... try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:286:25 [INFO] [stdout] | [INFO] [stdout] 286 | try!(self.render(wr, stack, children)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:291:38 [INFO] [stdout] | [INFO] [stdout] 291 | let tokens = try!(self.render_fun(src, otag, ctag, f)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/template.rs:334:27 [INFO] [stdout] | [INFO] [stdout] 334 | let (tokens, _) = try!(compiler.compile()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/encoder.rs:39:14 [INFO] [stdout] | [INFO] [stdout] 39 | self.description().fmt(f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | Fun(RefCell String + Send>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | Fun(RefCell String + Send>>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/template.rs:324:31 [INFO] [stdout] | [INFO] [stdout] 324 | f: &mut Box String + Send + 'static>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 324 | f: &mut Box String + Send + 'static>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | self.description().fmt(f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:38:39 [INFO] [stdout] | [INFO] [stdout] 38 | Error::Io(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:39:43 [INFO] [stdout] | [INFO] [stdout] 39 | Error::Parser(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:40:44 [INFO] [stdout] | [INFO] [stdout] 40 | Error::Encoder(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/parser.rs:67:39 [INFO] [stdout] | [INFO] [stdout] 67 | _ => write!(f, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/encoder.rs:39:14 [INFO] [stdout] | [INFO] [stdout] 39 | self.description().fmt(f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | self.description().fmt(f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:38:39 [INFO] [stdout] | [INFO] [stdout] 38 | Error::Io(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:39:43 [INFO] [stdout] | [INFO] [stdout] 39 | Error::Parser(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:40:44 [INFO] [stdout] | [INFO] [stdout] 40 | Error::Encoder(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/parser.rs:67:39 [INFO] [stdout] | [INFO] [stdout] 67 | _ => write!(f, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/compiler.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | self.partials.extend(subpartials.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 82 - self.partials.extend(subpartials.into_iter()); [INFO] [stdout] 82 + self.partials.extend(subpartials); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/context.rs:56:45 [INFO] [stdout] | [INFO] [stdout] 56 | let template = match str::from_utf8(&*s) { [INFO] [stdout] | ^^^ help: try: `&s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 19 - (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] 19 + (Data::String(v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:19:37 [INFO] [stdout] | [INFO] [stdout] 19 | (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 19 - (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] 19 + (&Data::String(ref v0), Data::String(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 20 - (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] 20 + (Data::Bool(v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 20 - (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] 20 + (&Data::Bool(ref v0), Data::Bool(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 21 - (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] 21 + (Data::Vec(v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:21:34 [INFO] [stdout] | [INFO] [stdout] 21 | (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 21 - (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] 21 + (&Data::Vec(ref v0), Data::Vec(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 22 - (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] 22 + (Data::Map(v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 22 - (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] 22 + (&Data::Map(ref v0), Data::Map(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `default` to create a unit struct [INFO] [stdout] --> src/encoder.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | Encoder::default() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_constructed_unit_structs [INFO] [stdout] = note: `#[warn(clippy::default_constructed_unit_structs)]` on by default [INFO] [stdout] help: remove this call to `default` [INFO] [stdout] | [INFO] [stdout] 62 - Encoder::default() [INFO] [stdout] 62 + Encoder [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:285:31 [INFO] [stdout] | [INFO] [stdout] 285 | self.vec.push(to_data(&value)?); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:331:36 [INFO] [stdout] | [INFO] [stdout] 331 | self.vec.push(try!(to_data(&value))); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:369:43 [INFO] [stdout] | [INFO] [stdout] 369 | self.map.insert(key, try!(to_data(&value))); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:403:52 [INFO] [stdout] | [INFO] [stdout] 403 | self.map.insert(String::from(key), to_data(&value)?); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/parser.rs:190:29 [INFO] [stdout] | [INFO] [stdout] 190 | ... self.tag_position = self.tag_position + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.tag_position += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/parser.rs:299:18 [INFO] [stdout] | [INFO] [stdout] 299 | Some(&Token::Text(ref s)) if !s.is_empty() => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 299 - Some(&Token::Text(ref s)) if !s.is_empty() => { [INFO] [stdout] 299 + Some(Token::Text(s)) if !s.is_empty() => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser.rs:543:16 [INFO] [stdout] | [INFO] [stdout] 543 | if !(i < self.tag_position) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(i >= self.tag_position)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser.rs:552:16 [INFO] [stdout] | [INFO] [stdout] 552 | if !(i < self.tag_position) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(i >= self.tag_position)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:563:32 [INFO] [stdout] | [INFO] [stdout] 563 | let name = try!(deny_blank(&name)); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/template.rs:242:18 [INFO] [stdout] | [INFO] [stdout] 242 | Some(&Data::Vec(ref xs)) if xs.is_empty() => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 242 - Some(&Data::Vec(ref xs)) if xs.is_empty() => {} [INFO] [stdout] 242 + Some(Data::Vec(xs)) if xs.is_empty() => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/template.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | / fn render_section(&mut self, [INFO] [stdout] 252 | | wr: &mut W, [INFO] [stdout] 253 | | stack: &mut Vec<&Data>, [INFO] [stdout] 254 | | path: &[String], [INFO] [stdout] ... | [INFO] [stdout] 257 | | otag: &str, [INFO] [stdout] 258 | | ctag: &str) -> Result<()> { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/template.rs:312:45 [INFO] [stdout] | [INFO] [stdout] 312 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^^^^^ help: change this to: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this seems like a manual implementation of the non-exhaustive pattern [INFO] [stdout] --> src/encoder.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / pub enum Error { [INFO] [stdout] 16 | | NestedOptions, [INFO] [stdout] 17 | | UnsupportedType, [INFO] [stdout] 18 | | MissingElements, [INFO] [stdout] ... | [INFO] [stdout] 24 | | __Nonexhaustive, [INFO] [stdout] 25 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] help: remove this variant [INFO] [stdout] --> src/encoder.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | __Nonexhaustive, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive [INFO] [stdout] = note: `#[warn(clippy::manual_non_exhaustive)]` on by default [INFO] [stdout] help: use the `#[non_exhaustive]` attribute instead [INFO] [stdout] | [INFO] [stdout] 15 + #[non_exhaustive] [INFO] [stdout] 16 | pub enum Error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this seems like a manual implementation of the non-exhaustive pattern [INFO] [stdout] --> src/error.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / pub enum Error { [INFO] [stdout] 15 | | InvalidStr, [INFO] [stdout] 16 | | NoFilename, [INFO] [stdout] 17 | | Io(StdIoError), [INFO] [stdout] ... | [INFO] [stdout] 22 | | __Nonexhaustive, [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] help: remove this variant [INFO] [stdout] --> src/error.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | __Nonexhaustive, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive [INFO] [stdout] help: use the `#[non_exhaustive]` attribute instead [INFO] [stdout] | [INFO] [stdout] 14 + #[non_exhaustive] [INFO] [stdout] 15 | pub enum Error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/compiler.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | self.partials.extend(subpartials.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 82 - self.partials.extend(subpartials.into_iter()); [INFO] [stdout] 82 + self.partials.extend(subpartials); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this seems like a manual implementation of the non-exhaustive pattern [INFO] [stdout] --> src/parser.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | / pub enum Error { [INFO] [stdout] 22 | | BadClosingTag(char, char), [INFO] [stdout] 23 | | UnclosedTag, [INFO] [stdout] 24 | | UnclosedSection(String), [INFO] [stdout] ... | [INFO] [stdout] 32 | | __Nonexhaustive, [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] help: remove this variant [INFO] [stdout] --> src/parser.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | __Nonexhaustive, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive [INFO] [stdout] help: use the `#[non_exhaustive]` attribute instead [INFO] [stdout] | [INFO] [stdout] 21 + #[non_exhaustive] [INFO] [stdout] 22 | pub enum Error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/context.rs:56:45 [INFO] [stdout] | [INFO] [stdout] 56 | let template = match str::from_utf8(&*s) { [INFO] [stdout] | ^^^ help: try: `&s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 19 - (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] 19 + (Data::String(v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:19:37 [INFO] [stdout] | [INFO] [stdout] 19 | (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 19 - (&Data::String(ref v0), &Data::String(ref v1)) => v0 == v1, [INFO] [stdout] 19 + (&Data::String(ref v0), Data::String(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 20 - (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] 20 + (Data::Bool(v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 20 - (&Data::Bool(ref v0), &Data::Bool(ref v1)) => v0 == v1, [INFO] [stdout] 20 + (&Data::Bool(ref v0), Data::Bool(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 21 - (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] 21 + (Data::Vec(v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:21:34 [INFO] [stdout] | [INFO] [stdout] 21 | (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 21 - (&Data::Vec(ref v0), &Data::Vec(ref v1)) => v0 == v1, [INFO] [stdout] 21 + (&Data::Vec(ref v0), Data::Vec(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 22 - (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] 22 + (Data::Map(v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/data.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 22 - (&Data::Map(ref v0), &Data::Map(ref v1)) => v0 == v1, [INFO] [stdout] 22 + (&Data::Map(ref v0), Data::Map(v1)) => v0 == v1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `default` to create a unit struct [INFO] [stdout] --> src/encoder.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | Encoder::default() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_constructed_unit_structs [INFO] [stdout] = note: `#[warn(clippy::default_constructed_unit_structs)]` on by default [INFO] [stdout] help: remove this call to `default` [INFO] [stdout] | [INFO] [stdout] 62 - Encoder::default() [INFO] [stdout] 62 + Encoder [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:285:31 [INFO] [stdout] | [INFO] [stdout] 285 | self.vec.push(to_data(&value)?); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:331:36 [INFO] [stdout] | [INFO] [stdout] 331 | self.vec.push(try!(to_data(&value))); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:369:43 [INFO] [stdout] | [INFO] [stdout] 369 | self.map.insert(key, try!(to_data(&value))); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/encoder.rs:403:52 [INFO] [stdout] | [INFO] [stdout] 403 | self.map.insert(String::from(key), to_data(&value)?); [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/parser.rs:190:29 [INFO] [stdout] | [INFO] [stdout] 190 | ... self.tag_position = self.tag_position + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.tag_position += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/parser.rs:299:18 [INFO] [stdout] | [INFO] [stdout] 299 | Some(&Token::Text(ref s)) if !s.is_empty() => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 299 - Some(&Token::Text(ref s)) if !s.is_empty() => { [INFO] [stdout] 299 + Some(Token::Text(s)) if !s.is_empty() => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser.rs:543:16 [INFO] [stdout] | [INFO] [stdout] 543 | if !(i < self.tag_position) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(i >= self.tag_position)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser.rs:552:16 [INFO] [stdout] | [INFO] [stdout] 552 | if !(i < self.tag_position) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(i >= self.tag_position)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:563:32 [INFO] [stdout] | [INFO] [stdout] 563 | let name = try!(deny_blank(&name)); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/parser.rs:596:22 [INFO] [stdout] | [INFO] [stdout] 596 | parse(input).expect(&format!("Failed to parse: {}", input)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to parse: {}", input))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/template.rs:242:18 [INFO] [stdout] | [INFO] [stdout] 242 | Some(&Data::Vec(ref xs)) if xs.is_empty() => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 242 - Some(&Data::Vec(ref xs)) if xs.is_empty() => {} [INFO] [stdout] 242 + Some(Data::Vec(xs)) if xs.is_empty() => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/template.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | / fn render_section(&mut self, [INFO] [stdout] 252 | | wr: &mut W, [INFO] [stdout] 253 | | stack: &mut Vec<&Data>, [INFO] [stdout] 254 | | path: &[String], [INFO] [stdout] ... | [INFO] [stdout] 257 | | otag: &str, [INFO] [stdout] 258 | | ctag: &str) -> Result<()> { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/template.rs:312:45 [INFO] [stdout] | [INFO] [stdout] 312 | try!(self.render(wr, stack, &tokens)); [INFO] [stdout] | ^^^^^^^ help: change this to: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this seems like a manual implementation of the non-exhaustive pattern [INFO] [stdout] --> src/encoder.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / pub enum Error { [INFO] [stdout] 16 | | NestedOptions, [INFO] [stdout] 17 | | UnsupportedType, [INFO] [stdout] 18 | | MissingElements, [INFO] [stdout] ... | [INFO] [stdout] 24 | | __Nonexhaustive, [INFO] [stdout] 25 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] help: remove this variant [INFO] [stdout] --> src/encoder.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | __Nonexhaustive, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive [INFO] [stdout] = note: `#[warn(clippy::manual_non_exhaustive)]` on by default [INFO] [stdout] help: use the `#[non_exhaustive]` attribute instead [INFO] [stdout] | [INFO] [stdout] 15 + #[non_exhaustive] [INFO] [stdout] 16 | pub enum Error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this seems like a manual implementation of the non-exhaustive pattern [INFO] [stdout] --> src/error.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / pub enum Error { [INFO] [stdout] 15 | | InvalidStr, [INFO] [stdout] 16 | | NoFilename, [INFO] [stdout] 17 | | Io(StdIoError), [INFO] [stdout] ... | [INFO] [stdout] 22 | | __Nonexhaustive, [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] help: remove this variant [INFO] [stdout] --> src/error.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | __Nonexhaustive, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive [INFO] [stdout] help: use the `#[non_exhaustive]` attribute instead [INFO] [stdout] | [INFO] [stdout] 14 + #[non_exhaustive] [INFO] [stdout] 15 | pub enum Error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this seems like a manual implementation of the non-exhaustive pattern [INFO] [stdout] --> src/parser.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | / pub enum Error { [INFO] [stdout] 22 | | BadClosingTag(char, char), [INFO] [stdout] 23 | | UnclosedTag, [INFO] [stdout] 24 | | UnclosedSection(String), [INFO] [stdout] ... | [INFO] [stdout] 32 | | __Nonexhaustive, [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] help: remove this variant [INFO] [stdout] --> src/parser.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | __Nonexhaustive, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive [INFO] [stdout] help: use the `#[non_exhaustive]` attribute instead [INFO] [stdout] | [INFO] [stdout] 21 + #[non_exhaustive] [INFO] [stdout] 22 | pub enum Error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> tests/template.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | try!(template.render(&mut bytes, data)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> tests/template.rs:321:22 [INFO] [stdout] | [INFO] [stdout] 321 | assert_eq!(e.description(), "failed to write whole buffer") [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> tests/builder.rs:58:26 [INFO] [stdout] | [INFO] [stdout] 58 | assert_let!(Some(&Data::Fun(ref f)) = m.get("count") => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 58 - assert_let!(Some(&Data::Fun(ref f)) = m.get("count") => { [INFO] [stdout] 58 + assert_let!(Some(Data::Fun(f)) = m.get("count") => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> tests/builder.rs:83:26 [INFO] [stdout] | [INFO] [stdout] 83 | assert_let!(Some(&Data::Fun(ref f)) = iter.next() => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 83 - assert_let!(Some(&Data::Fun(ref f)) = iter.next() => { [INFO] [stdout] 83 + assert_let!(Some(Data::Fun(f)) = iter.next() => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> tests/template.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | mustache::compile_str(s).expect(&format!("Failed to compile: {}", s)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to compile: {}", s))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> tests/template.rs:461:10 [INFO] [stdout] | [INFO] [stdout] 461 | .expect(&format!("Could not read file {}", path.display())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Could not read file {}", path.display()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> tests/template.rs:463:10 [INFO] [stdout] | [INFO] [stdout] 463 | .expect(&format!("Invalid json in file {}", path.display())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Invalid json in file {}", path.display()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> tests/template.rs:486:37 [INFO] [stdout] | [INFO] [stdout] 486 | let template = assert_let!(Some(&Json::String(ref s)) = test.get("template") => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 486 - let template = assert_let!(Some(&Json::String(ref s)) = test.get("template") => { [INFO] [stdout] 486 + let template = assert_let!(Some(Json::String(s)) = test.get("template") => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> tests/template.rs:490:37 [INFO] [stdout] | [INFO] [stdout] 490 | let expected = assert_let!(Some(&Json::String(ref s)) = test.get("expected") => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 490 - let expected = assert_let!(Some(&Json::String(ref s)) = test.get("expected") => { [INFO] [stdout] 490 + let expected = assert_let!(Some(Json::String(s)) = test.get("expected") => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> tests/template.rs:504:24 [INFO] [stdout] | [INFO] [stdout] 504 | .expect(&format!("Failed to compile: {}", template)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to compile: {}", template))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> tests/template.rs:514:9 [INFO] [stdout] | [INFO] [stdout] 514 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.97s [INFO] running `Command { std: "docker" "inspect" "050eacfb9c2326a7c992365a3a26f39f77747ee5e43bc68ebba9fd3f7c3a39d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "050eacfb9c2326a7c992365a3a26f39f77747ee5e43bc68ebba9fd3f7c3a39d2", kill_on_drop: false }` [INFO] [stdout] 050eacfb9c2326a7c992365a3a26f39f77747ee5e43bc68ebba9fd3f7c3a39d2