[INFO] crate handlebars 1.1.0 is already in cache [INFO] extracting crate handlebars 1.1.0 into work/ex/clippy-test-run/sources/stable/reg/handlebars/1.1.0 [INFO] extracting crate handlebars 1.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/handlebars/1.1.0 [INFO] validating manifest of handlebars-1.1.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of handlebars-1.1.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing handlebars-1.1.0 [INFO] finished frobbing handlebars-1.1.0 [INFO] frobbed toml for handlebars-1.1.0 written to work/ex/clippy-test-run/sources/stable/reg/handlebars/1.1.0/Cargo.toml [INFO] started frobbing handlebars-1.1.0 [INFO] finished frobbing handlebars-1.1.0 [INFO] frobbed toml for handlebars-1.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/handlebars/1.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting handlebars-1.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/handlebars/1.1.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 76744da39f224eb7138a417246ddbd08a0ab69afd22541747a4861d6a0f5f8c1 [INFO] running `"docker" "start" "-a" "76744da39f224eb7138a417246ddbd08a0ab69afd22541747a4861d6a0f5f8c1"` [INFO] [stderr] Compiling pest_generator v2.1.0 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Checking handlebars v1.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helpers/helper_with.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helpers/helper_with.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helpers/helper_with.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/render.rs:897:9 [INFO] [stderr] | [INFO] [stderr] 897 | elements: elements, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `elements` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helpers/helper_with.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helpers/helper_with.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helpers/helper_with.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/render.rs:897:9 [INFO] [stderr] | [INFO] [stderr] 897 | elements: elements, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `elements` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/context.rs:73:26 [INFO] [stderr] | [INFO] [stderr] 73 | while let Some(sg) = parser.next() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `for sg in parser { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/context.rs:96:24 [INFO] [stderr] | [INFO] [stderr] 96 | let mut base_map = match base { [INFO] [stderr] | ________________________^ [INFO] [stderr] 97 | | &Json::Object(ref m) => m.clone(), [INFO] [stderr] 98 | | _ => Map::new(), [INFO] [stderr] 99 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 96 | let mut base_map = match *base { [INFO] [stderr] 97 | Json::Object(ref m) => m.clone(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/context.rs:135:32 [INFO] [stderr] | [INFO] [stderr] 135 | let paths: Vec<&str> = path_stack.iter().map(|x| *x).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `path_stack.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/error.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | / if let &TemplateRenderError::RenderError(ref e) = self { [INFO] [stderr] 259 | | Some(&e) [INFO] [stderr] 260 | | } else { [INFO] [stderr] 261 | | None [INFO] [stderr] 262 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 258 | if let TemplateRenderError::RenderError(ref e) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_log.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_log.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_lookup.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_lookup.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/helpers/helper_lookup.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | let value = match collection_value.value() { [INFO] [stderr] | _____________________^ [INFO] [stderr] 32 | | &Json::Array(ref v) => index [INFO] [stderr] 33 | | .value() [INFO] [stderr] 34 | | .as_u64() [INFO] [stderr] ... | [INFO] [stderr] 43 | | _ => &null, [INFO] [stderr] 44 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 31 | let value = match *collection_value.value() { [INFO] [stderr] 32 | Json::Array(ref v) => index [INFO] [stderr] 33 | .value() [INFO] [stderr] 34 | .as_u64() [INFO] [stderr] 35 | .and_then(|u| Some(u as usize)) [INFO] [stderr] 36 | .and_then(|u| v.get(u)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_with.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_with.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/registry.rs:93:28 [INFO] [stderr] | [INFO] [stderr] 93 | ds.starts_with(".") || ds.starts_with("#") || !ds.ends_with(suffix) [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/registry.rs:93:51 [INFO] [stderr] | [INFO] [stderr] 93 | ds.starts_with(".") || ds.starts_with("#") || !ds.ends_with(suffix) [INFO] [stderr] | ^^^ help: try using a char instead: `'#'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/registry.rs:319:52 [INFO] [stderr] | [INFO] [stderr] 319 | pub fn get_helper(&self, name: &str) -> Option<&Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&HelperDef + 'static` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/registry.rs:324:55 [INFO] [stderr] | [INFO] [stderr] 324 | pub fn get_decorator(&self, name: &str) -> Option<&Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&DirectiveDef + 'static` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/render.rs:556:9 [INFO] [stderr] | [INFO] [stderr] 556 | hd: &Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&HelperDef` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:591:9 [INFO] [stderr] | [INFO] [stderr] 591 | / match self { [INFO] [stderr] 592 | | &Parameter::Name(ref name) => Ok(name.to_owned()), [INFO] [stderr] 593 | | &Parameter::Subexpression(_) => { [INFO] [stderr] 594 | | self.expand(registry, ctx, rc).map(|v| v.value().render()) [INFO] [stderr] 595 | | } [INFO] [stderr] 596 | | &Parameter::Literal(ref j) => Ok(j.render()), [INFO] [stderr] 597 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 591 | match *self { [INFO] [stderr] 592 | Parameter::Name(ref name) => Ok(name.to_owned()), [INFO] [stderr] 593 | Parameter::Subexpression(_) => { [INFO] [stderr] 594 | self.expand(registry, ctx, rc).map(|v| v.value().render()) [INFO] [stderr] 595 | } [INFO] [stderr] 596 | Parameter::Literal(ref j) => Ok(j.render()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:606:9 [INFO] [stderr] | [INFO] [stderr] 606 | / match self { [INFO] [stderr] 607 | | &Parameter::Name(ref name) => { [INFO] [stderr] 608 | | let strict = registry.strict_mode(); [INFO] [stderr] 609 | | if let Some(value) = rc.get_local_var(name) { [INFO] [stderr] ... | [INFO] [stderr] 671 | | }, [INFO] [stderr] 672 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 606 | match *self { [INFO] [stderr] 607 | Parameter::Name(ref name) => { [INFO] [stderr] 608 | let strict = registry.strict_mode(); [INFO] [stderr] 609 | if let Some(value) = rc.get_local_var(name) { [INFO] [stderr] 610 | // local var, @first, @last for example [INFO] [stderr] 611 | // here we count it as derived value, and simply clone it [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:647:49 [INFO] [stderr] | [INFO] [stderr] 647 | &Parameter::Subexpression(ref t) => match t.as_element() { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 648 | | &Expression(ref expr) => expr.expand(registry, ctx, rc), [INFO] [stderr] 649 | | &HelperExpression(ref ht) => { [INFO] [stderr] 650 | | let h = Helper::try_from_template(ht, registry, ctx, rc)?; [INFO] [stderr] ... | [INFO] [stderr] 670 | | _ => unreachable!(), [INFO] [stderr] 671 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 647 | &Parameter::Subexpression(ref t) => match *t.as_element() { [INFO] [stderr] 648 | Expression(ref expr) => expr.expand(registry, ctx, rc), [INFO] [stderr] 649 | HelperExpression(ref ht) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match self.as_element() { [INFO] [stderr] 61 | | &TemplateElement::HelperExpression(_) => true, [INFO] [stderr] 62 | | _ => false, [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 60 | match *self.as_element() { [INFO] [stderr] 61 | TemplateElement::HelperExpression(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | / match self.as_element() { [INFO] [stderr] 72 | | &HelperExpression(ref ht) => &ht.name, [INFO] [stderr] 73 | | &Expression(ref p) => match p { [INFO] [stderr] 74 | | &Parameter::Name(ref s) => s, [INFO] [stderr] ... | [INFO] [stderr] 77 | | _ => unreachable!(), [INFO] [stderr] 78 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 71 | match *self.as_element() { [INFO] [stderr] 72 | HelperExpression(ref ht) => &ht.name, [INFO] [stderr] 73 | Expression(ref p) => match p { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:73:35 [INFO] [stderr] | [INFO] [stderr] 73 | &Expression(ref p) => match p { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 74 | | &Parameter::Name(ref s) => s, [INFO] [stderr] 75 | | _ => unreachable!(), [INFO] [stderr] 76 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 73 | &Expression(ref p) => match *p { [INFO] [stderr] 74 | Parameter::Name(ref s) => s, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | / match self.as_element() { [INFO] [stderr] 83 | | &HelperExpression(ref ht) => Some(&ht.params), [INFO] [stderr] 84 | | _ => None, [INFO] [stderr] 85 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 82 | match *self.as_element() { [INFO] [stderr] 83 | HelperExpression(ref ht) => Some(&ht.params), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | / match self.as_element() { [INFO] [stderr] 90 | | &HelperExpression(ref ht) => Some(&ht.hash), [INFO] [stderr] 91 | | _ => None, [INFO] [stderr] 92 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 89 | match *self.as_element() { [INFO] [stderr] 90 | HelperExpression(ref ht) => Some(&ht.hash), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/template.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | / loop { [INFO] [stderr] 250 | | if let Some(n) = it.peek() { [INFO] [stderr] 251 | | let n_span = n.clone().into_span(); [INFO] [stderr] 252 | | if n_span.end() > param_span.end() { [INFO] [stderr] ... | [INFO] [stderr] 259 | | it.next(); [INFO] [stderr] 260 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(n) = it.peek() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | / match self { [INFO] [stderr] 21 | | &ScopedJson::Constant(j) => j, [INFO] [stderr] 22 | | &ScopedJson::Derived(ref j) => j, [INFO] [stderr] 23 | | &ScopedJson::Context(j) => j, [INFO] [stderr] 24 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *self { [INFO] [stderr] 21 | ScopedJson::Constant(j) => j, [INFO] [stderr] 22 | ScopedJson::Derived(ref j) => j, [INFO] [stderr] 23 | ScopedJson::Context(j) => j, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/context.rs:73:26 [INFO] [stderr] | [INFO] [stderr] 73 | while let Some(sg) = parser.next() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `for sg in parser { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/context.rs:96:24 [INFO] [stderr] | [INFO] [stderr] 96 | let mut base_map = match base { [INFO] [stderr] | ________________________^ [INFO] [stderr] 97 | | &Json::Object(ref m) => m.clone(), [INFO] [stderr] 98 | | _ => Map::new(), [INFO] [stderr] 99 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 96 | let mut base_map = match *base { [INFO] [stderr] 97 | Json::Object(ref m) => m.clone(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/context.rs:135:32 [INFO] [stderr] | [INFO] [stderr] 135 | let paths: Vec<&str> = path_stack.iter().map(|x| *x).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `path_stack.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/directives/mod.rs:177:26 [INFO] [stderr] | [INFO] [stderr] 177 | .unwrap_or(Context::null()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(Context::null)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/error.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | / if let &TemplateRenderError::RenderError(ref e) = self { [INFO] [stderr] 259 | | Some(&e) [INFO] [stderr] 260 | | } else { [INFO] [stderr] 261 | | None [INFO] [stderr] 262 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 258 | if let TemplateRenderError::RenderError(ref e) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_log.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_log.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_lookup.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_lookup.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/helpers/helper_lookup.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | let value = match collection_value.value() { [INFO] [stderr] | _____________________^ [INFO] [stderr] 32 | | &Json::Array(ref v) => index [INFO] [stderr] 33 | | .value() [INFO] [stderr] 34 | | .as_u64() [INFO] [stderr] ... | [INFO] [stderr] 43 | | _ => &null, [INFO] [stderr] 44 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 31 | let value = match *collection_value.value() { [INFO] [stderr] 32 | Json::Array(ref v) => index [INFO] [stderr] 33 | .value() [INFO] [stderr] 34 | .as_u64() [INFO] [stderr] 35 | .and_then(|u| Some(u as usize)) [INFO] [stderr] 36 | .and_then(|u| v.get(u)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_with.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helpers/helper_with.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | fn call<'reg: 'rc, 'rc>( [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/helpers/mod.rs:241:34 [INFO] [stderr] | [INFO] [stderr] 241 | let output = format!("{}", h.hash_get("value").unwrap().value().render()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `h.hash_get("value").unwrap().value().render().to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/registry.rs:93:28 [INFO] [stderr] | [INFO] [stderr] 93 | ds.starts_with(".") || ds.starts_with("#") || !ds.ends_with(suffix) [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/registry.rs:93:51 [INFO] [stderr] | [INFO] [stderr] 93 | ds.starts_with(".") || ds.starts_with("#") || !ds.ends_with(suffix) [INFO] [stderr] | ^^^ help: try using a char instead: `'#'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/registry.rs:319:52 [INFO] [stderr] | [INFO] [stderr] 319 | pub fn get_helper(&self, name: &str) -> Option<&Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&HelperDef + 'static` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/registry.rs:324:55 [INFO] [stderr] | [INFO] [stderr] 324 | pub fn get_decorator(&self, name: &str) -> Option<&Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&DirectiveDef + 'static` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/registry.rs:565:13 [INFO] [stderr] | [INFO] [stderr] 565 | let _ = DirBuilder::new().create(dir.path().join("french")).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/registry.rs:566:13 [INFO] [stderr] | [INFO] [stderr] 566 | / let _ = DirBuilder::new() [INFO] [stderr] 567 | | .create(dir.path().join("portugese")) [INFO] [stderr] 568 | | .unwrap(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/registry.rs:569:13 [INFO] [stderr] | [INFO] [stderr] 569 | / let _ = DirBuilder::new() [INFO] [stderr] 570 | | .create(dir.path().join("italian")) [INFO] [stderr] 571 | | .unwrap(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/render.rs:556:9 [INFO] [stderr] | [INFO] [stderr] 556 | hd: &Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&HelperDef` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:591:9 [INFO] [stderr] | [INFO] [stderr] 591 | / match self { [INFO] [stderr] 592 | | &Parameter::Name(ref name) => Ok(name.to_owned()), [INFO] [stderr] 593 | | &Parameter::Subexpression(_) => { [INFO] [stderr] 594 | | self.expand(registry, ctx, rc).map(|v| v.value().render()) [INFO] [stderr] 595 | | } [INFO] [stderr] 596 | | &Parameter::Literal(ref j) => Ok(j.render()), [INFO] [stderr] 597 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 591 | match *self { [INFO] [stderr] 592 | Parameter::Name(ref name) => Ok(name.to_owned()), [INFO] [stderr] 593 | Parameter::Subexpression(_) => { [INFO] [stderr] 594 | self.expand(registry, ctx, rc).map(|v| v.value().render()) [INFO] [stderr] 595 | } [INFO] [stderr] 596 | Parameter::Literal(ref j) => Ok(j.render()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:606:9 [INFO] [stderr] | [INFO] [stderr] 606 | / match self { [INFO] [stderr] 607 | | &Parameter::Name(ref name) => { [INFO] [stderr] 608 | | let strict = registry.strict_mode(); [INFO] [stderr] 609 | | if let Some(value) = rc.get_local_var(name) { [INFO] [stderr] ... | [INFO] [stderr] 671 | | }, [INFO] [stderr] 672 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 606 | match *self { [INFO] [stderr] 607 | Parameter::Name(ref name) => { [INFO] [stderr] 608 | let strict = registry.strict_mode(); [INFO] [stderr] 609 | if let Some(value) = rc.get_local_var(name) { [INFO] [stderr] 610 | // local var, @first, @last for example [INFO] [stderr] 611 | // here we count it as derived value, and simply clone it [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:647:49 [INFO] [stderr] | [INFO] [stderr] 647 | &Parameter::Subexpression(ref t) => match t.as_element() { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 648 | | &Expression(ref expr) => expr.expand(registry, ctx, rc), [INFO] [stderr] 649 | | &HelperExpression(ref ht) => { [INFO] [stderr] 650 | | let h = Helper::try_from_template(ht, registry, ctx, rc)?; [INFO] [stderr] ... | [INFO] [stderr] 670 | | _ => unreachable!(), [INFO] [stderr] 671 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 647 | &Parameter::Subexpression(ref t) => match *t.as_element() { [INFO] [stderr] 648 | Expression(ref expr) => expr.expand(registry, ctx, rc), [INFO] [stderr] 649 | HelperExpression(ref ht) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/render.rs:971:27 [INFO] [stderr] | [INFO] [stderr] 971 | out.write(format!("{}", h.param(0).unwrap().value().render()).as_ref()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `h.param(0).unwrap().value().render().to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match self.as_element() { [INFO] [stderr] 61 | | &TemplateElement::HelperExpression(_) => true, [INFO] [stderr] 62 | | _ => false, [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 60 | match *self.as_element() { [INFO] [stderr] 61 | TemplateElement::HelperExpression(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | / match self.as_element() { [INFO] [stderr] 72 | | &HelperExpression(ref ht) => &ht.name, [INFO] [stderr] 73 | | &Expression(ref p) => match p { [INFO] [stderr] 74 | | &Parameter::Name(ref s) => s, [INFO] [stderr] ... | [INFO] [stderr] 77 | | _ => unreachable!(), [INFO] [stderr] 78 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 71 | match *self.as_element() { [INFO] [stderr] 72 | HelperExpression(ref ht) => &ht.name, [INFO] [stderr] 73 | Expression(ref p) => match p { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:73:35 [INFO] [stderr] | [INFO] [stderr] 73 | &Expression(ref p) => match p { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 74 | | &Parameter::Name(ref s) => s, [INFO] [stderr] 75 | | _ => unreachable!(), [INFO] [stderr] 76 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 73 | &Expression(ref p) => match *p { [INFO] [stderr] 74 | Parameter::Name(ref s) => s, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | / match self.as_element() { [INFO] [stderr] 83 | | &HelperExpression(ref ht) => Some(&ht.params), [INFO] [stderr] 84 | | _ => None, [INFO] [stderr] 85 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 82 | match *self.as_element() { [INFO] [stderr] 83 | HelperExpression(ref ht) => Some(&ht.params), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | / match self.as_element() { [INFO] [stderr] 90 | | &HelperExpression(ref ht) => Some(&ht.hash), [INFO] [stderr] 91 | | _ => None, [INFO] [stderr] 92 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 89 | match *self.as_element() { [INFO] [stderr] 90 | HelperExpression(ref ht) => Some(&ht.hash), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/template.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | / loop { [INFO] [stderr] 250 | | if let Some(n) = it.peek() { [INFO] [stderr] 251 | | let n_span = n.clone().into_span(); [INFO] [stderr] 252 | | if n_span.end() > param_span.end() { [INFO] [stderr] ... | [INFO] [stderr] 259 | | it.next(); [INFO] [stderr] 260 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(n) = it.peek() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:749:10 [INFO] [stderr] | [INFO] [stderr] 749 | *t.elements.get(0).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:759:17 [INFO] [stderr] | [INFO] [stderr] 759 | assert_eq!(*t.elements.get(0).unwrap(), RawString(source.to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:768:10 [INFO] [stderr] | [INFO] [stderr] 768 | *t.elements.get(0).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:782:17 [INFO] [stderr] | [INFO] [stderr] 782 | assert_eq!(*t.elements.get(0).unwrap(), RawString("

".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:784:10 [INFO] [stderr] | [INFO] [stderr] 784 | *t.elements.get(1).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:789:10 [INFO] [stderr] | [INFO] [stderr] 789 | *t.elements.get(3).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:793:12 [INFO] [stderr] | [INFO] [stderr] 793 | match *t.elements.get(5).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[5]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:804:12 [INFO] [stderr] | [INFO] [stderr] 804 | match *t.elements.get(7).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[7]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:808:25 [INFO] [stderr] | [INFO] [stderr] 808 | assert_eq!(*(h.params.get(0).unwrap()), Parameter::Name("bar".into())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&h.params[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:815:12 [INFO] [stderr] | [INFO] [stderr] 815 | match *t.elements.get(9).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[9]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:845:12 [INFO] [stderr] | [INFO] [stderr] 845 | match *t.elements.get(0).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:849:13 [INFO] [stderr] | [INFO] [stderr] 849 | / if let &Parameter::Subexpression(ref t) = h.params.get(0).unwrap() { [INFO] [stderr] 850 | | assert_eq!(t.name(), "bar".to_owned()); [INFO] [stderr] 851 | | } else { [INFO] [stderr] 852 | | panic!("Subexpression expected"); [INFO] [stderr] 853 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 849 | if let Parameter::Subexpression(ref t) = *h.params.get(0).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:849:55 [INFO] [stderr] | [INFO] [stderr] 849 | if let &Parameter::Subexpression(ref t) = h.params.get(0).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&h.params[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:860:12 [INFO] [stderr] | [INFO] [stderr] 860 | match *t.elements.get(1).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:864:13 [INFO] [stderr] | [INFO] [stderr] 864 | / if let &Parameter::Subexpression(ref t) = h.params.get(0).unwrap() { [INFO] [stderr] 865 | | assert_eq!(t.name(), "bar".to_owned()); [INFO] [stderr] 866 | | if let Some(&Parameter::Name(ref n)) = t.params().unwrap().get(0) { [INFO] [stderr] 867 | | assert_eq!(n, "baz"); [INFO] [stderr] ... | [INFO] [stderr] 872 | | panic!("Subexpression expected"); [INFO] [stderr] 873 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 864 | if let Parameter::Subexpression(ref t) = *h.params.get(0).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:864:55 [INFO] [stderr] | [INFO] [stderr] 864 | if let &Parameter::Subexpression(ref t) = h.params.get(0).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&h.params[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:880:12 [INFO] [stderr] | [INFO] [stderr] 880 | match *t.elements.get(3).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&t.elements[3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:886:13 [INFO] [stderr] | [INFO] [stderr] 886 | / if let &Parameter::Subexpression(ref t) = h.params.get(0).unwrap() { [INFO] [stderr] 887 | | assert_eq!(t.name(), "baz".to_owned()); [INFO] [stderr] 888 | | if let Some(&Parameter::Name(ref n)) = t.params().unwrap().get(0) { [INFO] [stderr] 889 | | assert_eq!(n, "bar"); [INFO] [stderr] ... | [INFO] [stderr] 894 | | panic!("Subexpression expected (baz bar)"); [INFO] [stderr] 895 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 886 | if let Parameter::Subexpression(ref t) = *h.params.get(0).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:886:55 [INFO] [stderr] | [INFO] [stderr] 886 | if let &Parameter::Subexpression(ref t) = h.params.get(0).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&h.params[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/template.rs:897:13 [INFO] [stderr] | [INFO] [stderr] 897 | / if let &Parameter::Subexpression(ref t) = h.hash.get("then").unwrap() { [INFO] [stderr] 898 | | assert_eq!(t.name(), "bar".to_owned()); [INFO] [stderr] 899 | | } else { [INFO] [stderr] 900 | | panic!("Subexpression expected (bar)"); [INFO] [stderr] 901 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 897 | if let Parameter::Subexpression(ref t) = *h.hash.get("then").unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:897:55 [INFO] [stderr] | [INFO] [stderr] 897 | if let &Parameter::Subexpression(ref t) = h.hash.get("then").unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&h.hash["then"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/template.rs:971:30 [INFO] [stderr] | [INFO] [stderr] 971 | *ht.elements.get(0).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&ht.elements[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | / match self { [INFO] [stderr] 21 | | &ScopedJson::Constant(j) => j, [INFO] [stderr] 22 | | &ScopedJson::Derived(ref j) => j, [INFO] [stderr] 23 | | &ScopedJson::Context(j) => j, [INFO] [stderr] 24 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *self { [INFO] [stderr] 21 | ScopedJson::Constant(j) => j, [INFO] [stderr] 22 | ScopedJson::Derived(ref j) => j, [INFO] [stderr] 23 | ScopedJson::Context(j) => j, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> examples/render.rs:26:10 [INFO] [stderr] | [INFO] [stderr] 26 | .ok_or(RenderError::new("Param 0 is required for format helper."))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| RenderError::new("Param 0 is required for format helper."))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> examples/render.rs:43:10 [INFO] [stderr] | [INFO] [stderr] 43 | .ok_or(RenderError::new( [INFO] [stderr] | __________^ [INFO] [stderr] 44 | | "Param 0 with u64 type is required for rank helper.", [INFO] [stderr] 45 | | ))? as usize; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 43 | .ok_or_else(|| RenderError::new( [INFO] [stderr] 44 | "Param 0 with u64 type is required for rank helper.", [INFO] [stderr] 45 | ))? as usize; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> examples/render.rs:51:10 [INFO] [stderr] | [INFO] [stderr] 51 | .ok_or(RenderError::new( [INFO] [stderr] | __________^ [INFO] [stderr] 52 | | "Param 1 with array type is required for rank helper", [INFO] [stderr] 53 | | ))?; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 51 | .ok_or_else(|| RenderError::new( [INFO] [stderr] 52 | "Param 1 with array type is required for rank helper", [INFO] [stderr] 53 | ))?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/bench.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `handlebars`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> examples/render-cli.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | r#"Usage: ./render-cli template.hbs '{"json": "data"}'"# [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_literal [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> examples/render_file.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | .ok_or(RenderError::new("Param 0 is required for format helper."))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| RenderError::new("Param 0 is required for format helper."))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> examples/render_file.rs:46:10 [INFO] [stderr] | [INFO] [stderr] 46 | .ok_or(RenderError::new( [INFO] [stderr] | __________^ [INFO] [stderr] 47 | | "Param 0 with u64 type is required for rank helper.", [INFO] [stderr] 48 | | ))? as usize; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 46 | .ok_or_else(|| RenderError::new( [INFO] [stderr] 47 | "Param 0 with u64 type is required for rank helper.", [INFO] [stderr] 48 | ))? as usize; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> examples/render_file.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | .ok_or(RenderError::new( [INFO] [stderr] | __________^ [INFO] [stderr] 55 | | "Param 1 with array type is required for rank helper", [INFO] [stderr] 56 | | ))?; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 54 | .ok_or_else(|| RenderError::new( [INFO] [stderr] 55 | "Param 1 with array type is required for rank helper", [INFO] [stderr] 56 | ))?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> examples/render-cli.rs:25:36 [INFO] [stderr] | [INFO] [stderr] 25 | let text = if text.starts_with("@") { [INFO] [stderr] | ^^^ help: try using a char instead: `'@'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "76744da39f224eb7138a417246ddbd08a0ab69afd22541747a4861d6a0f5f8c1"` [INFO] running `"docker" "rm" "-f" "76744da39f224eb7138a417246ddbd08a0ab69afd22541747a4861d6a0f5f8c1"` [INFO] [stdout] 76744da39f224eb7138a417246ddbd08a0ab69afd22541747a4861d6a0f5f8c1