[INFO] crate tenjin 0.5.1 is already in cache [INFO] extracting crate tenjin 0.5.1 into work/ex/clippy-test-run/sources/stable/reg/tenjin/0.5.1 [INFO] extracting crate tenjin 0.5.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tenjin/0.5.1 [INFO] validating manifest of tenjin-0.5.1 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 tenjin-0.5.1 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 tenjin-0.5.1 [INFO] finished frobbing tenjin-0.5.1 [INFO] frobbed toml for tenjin-0.5.1 written to work/ex/clippy-test-run/sources/stable/reg/tenjin/0.5.1/Cargo.toml [INFO] started frobbing tenjin-0.5.1 [INFO] finished frobbing tenjin-0.5.1 [INFO] frobbed toml for tenjin-0.5.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tenjin/0.5.1/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 tenjin-0.5.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/tenjin/0.5.1:/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] 58915b7c18dda3add1dbe627bf18e865e7c8dc57a55e1c0b664e9e0a70b5f18b [INFO] running `"docker" "start" "-a" "58915b7c18dda3add1dbe627bf18e865e7c8dc57a55e1c0b664e9e0a70b5f18b"` [INFO] [stderr] Checking tenjin v0.5.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/render.rs:109:25 [INFO] [stderr] | [INFO] [stderr] 109 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/render.rs:110:25 [INFO] [stderr] | [INFO] [stderr] 110 | context: context, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `context` [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:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | ident: ident, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `ident` [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:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | sink: sink, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `sink` [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:109:25 [INFO] [stderr] | [INFO] [stderr] 109 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/render.rs:110:25 [INFO] [stderr] | [INFO] [stderr] 110 | context: context, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `context` [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:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | ident: ident, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `ident` [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:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | sink: sink, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `sink` [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 `else { if .. }` block can be collapsed [INFO] [stderr] --> src/render.rs:98:28 [INFO] [stderr] | [INFO] [stderr] 98 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 99 | | if let &Some(ref otherwise) = otherwise { [INFO] [stderr] 100 | | self.render(otherwise, context, sink)?; [INFO] [stderr] 101 | | } else { [INFO] [stderr] 102 | | // No else block. [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 98 | } else if let &Some(ref otherwise) = otherwise { [INFO] [stderr] 99 | self.render(otherwise, context, sink)?; [INFO] [stderr] 100 | } else { [INFO] [stderr] 101 | // No else block. [INFO] [stderr] 102 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/render.rs:98:28 [INFO] [stderr] | [INFO] [stderr] 98 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 99 | | if let &Some(ref otherwise) = otherwise { [INFO] [stderr] 100 | | self.render(otherwise, context, sink)?; [INFO] [stderr] 101 | | } else { [INFO] [stderr] 102 | | // No else block. [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 98 | } else if let &Some(ref otherwise) = otherwise { [INFO] [stderr] 99 | self.render(otherwise, context, sink)?; [INFO] [stderr] 100 | } else { [INFO] [stderr] 101 | // No else block. [INFO] [stderr] 102 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:290:44 [INFO] [stderr] | [INFO] [stderr] 290 | } else if self.src.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] warning: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:295:44 [INFO] [stderr] | [INFO] [stderr] 295 | } else if self.src.starts_with("}") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/compile.rs:302:22 [INFO] [stderr] | [INFO] [stderr] 302 | .unwrap_or(self.src.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.src.len())` [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: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:313:42 [INFO] [stderr] | [INFO] [stderr] 313 | Some(if self.src.starts_with("{") { [INFO] [stderr] | ^^^ help: try using a char instead: `'{'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:317:44 [INFO] [stderr] | [INFO] [stderr] 317 | } else if self.src.starts_with("}") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/compile.rs:325:22 [INFO] [stderr] | [INFO] [stderr] 325 | .unwrap_or(self.src.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.src.len())` [INFO] [stderr] | [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/compile.rs:349:13 [INFO] [stderr] | [INFO] [stderr] 349 | / match found.borrow() { [INFO] [stderr] 350 | | &Symbol::Open => "'{'", [INFO] [stderr] 351 | | &Symbol::Close => "'}'", [INFO] [stderr] 352 | | &Symbol::Text(s) => s, [INFO] [stderr] 353 | | &Symbol::Word(s) => s, [INFO] [stderr] 354 | | } [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] 349 | match *found.borrow() { [INFO] [stderr] 350 | Symbol::Open => "'{'", [INFO] [stderr] 351 | Symbol::Close => "'}'", [INFO] [stderr] 352 | Symbol::Text(s) => s, [INFO] [stderr] 353 | Symbol::Word(s) => s, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/compile.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | / match self { [INFO] [stderr] 365 | | &Error::Unexpected(_, _) => "unexpected input", [INFO] [stderr] 366 | | } [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] 364 | match *self { [INFO] [stderr] 365 | Error::Unexpected(_, _) => "unexpected input", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/compile.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / match self { [INFO] [stderr] 373 | | &Error::Unexpected(a, ref b) => { [INFO] [stderr] 374 | | write!(f, "expected {}, found {}", a, b) [INFO] [stderr] 375 | | } [INFO] [stderr] 376 | | } [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] 372 | match *self { [INFO] [stderr] 373 | Error::Unexpected(a, ref b) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/context/json.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | String(ref s) => s.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/context/json.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | / if let &Value::Array(ref array) = value { [INFO] [stderr] 82 | | for value in array { [INFO] [stderr] 83 | | chomp.chomp(value)?; [INFO] [stderr] 84 | | } [INFO] [stderr] ... | [INFO] [stderr] 87 | | Err(Error::NotIterable(path.to_owned())) [INFO] [stderr] 88 | | } [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] 81 | if let Value::Array(ref array) = *value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/context/toml.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | String(ref s) => s.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/context/toml.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / if let &Value::Array(ref array) = value { [INFO] [stderr] 85 | | for value in array { [INFO] [stderr] 86 | | chomp.chomp(value)?; [INFO] [stderr] 87 | | } [INFO] [stderr] ... | [INFO] [stderr] 90 | | Err(Error::NotIterable(path.to_owned())) [INFO] [stderr] 91 | | } [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] 84 | if let Value::Array(ref array) = *value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/context/mod.rs:63:21 [INFO] [stderr] | [INFO] [stderr] 63 | None => self.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/error.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / match self { [INFO] [stderr] 37 | | &NotInjectable(_) => "variable not injectable", [INFO] [stderr] 38 | | &NotIterable(_) => "variable not iterable", [INFO] [stderr] 39 | | &TemplateNotFound(_) => "template not found", [INFO] [stderr] ... | [INFO] [stderr] 42 | | &Io(ref error) => error.description(), [INFO] [stderr] 43 | | } [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] 36 | match *self { [INFO] [stderr] 37 | NotInjectable(_) => "variable not injectable", [INFO] [stderr] 38 | NotIterable(_) => "variable not iterable", [INFO] [stderr] 39 | TemplateNotFound(_) => "template not found", [INFO] [stderr] 40 | Undefined(_) => "variable undefined", [INFO] [stderr] 41 | Compile(ref error) => error.description(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/error.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | / match self { [INFO] [stderr] 52 | | &NotInjectable(ref path) => write!(f, "variable '{}' not injectable", path), [INFO] [stderr] 53 | | &NotIterable(ref path) => write!(f, "variable '{}' not iterable", path), [INFO] [stderr] 54 | | &TemplateNotFound(ref name) => write!(f, "template '{}' not found", name), [INFO] [stderr] ... | [INFO] [stderr] 57 | | &Io(ref error) => error.fmt(f), [INFO] [stderr] 58 | | } [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] 51 | match *self { [INFO] [stderr] 52 | NotInjectable(ref path) => write!(f, "variable '{}' not injectable", path), [INFO] [stderr] 53 | NotIterable(ref path) => write!(f, "variable '{}' not iterable", path), [INFO] [stderr] 54 | TemplateNotFound(ref name) => write!(f, "template '{}' not found", name), [INFO] [stderr] 55 | Undefined(ref path) => write!(f, "variable '{}' undefined", path), [INFO] [stderr] 56 | Compile(ref error) => error.fmt(f), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/path.rs:27:46 [INFO] [stderr] | [INFO] [stderr] 27 | while let &Path::Pair(first, rest) = node { [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] 27 | while let Path::Pair(first, rest) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/path.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / if let &Path::Pair(first, next) = cur { [INFO] [stderr] 59 | | buf.push_str(first); [INFO] [stderr] 60 | | cur = next; [INFO] [stderr] 61 | | } else { [INFO] [stderr] 62 | | return buf; [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] 58 | if let Path::Pair(first, next) = *cur { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/path.rs:65:46 [INFO] [stderr] | [INFO] [stderr] 65 | while let &Path::Pair(first, next) = cur { [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] 65 | while let Path::Pair(first, next) = *cur { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | / match statement { [INFO] [stderr] 95 | | &Cond { ref pred, ref then, ref otherwise } => { [INFO] [stderr] 96 | | if context.truthy(Path::new(&pred)) { [INFO] [stderr] 97 | | self.render(then, context, sink)?; [INFO] [stderr] ... | [INFO] [stderr] 141 | | }, [INFO] [stderr] 142 | | } [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] 94 | match *statement { [INFO] [stderr] 95 | Cond { ref pred, ref then, ref otherwise } => { [INFO] [stderr] 96 | if context.truthy(Path::new(&pred)) { [INFO] [stderr] 97 | self.render(then, context, sink)?; [INFO] [stderr] 98 | } else { [INFO] [stderr] 99 | if let &Some(ref otherwise) = otherwise { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:99:25 [INFO] [stderr] | [INFO] [stderr] 99 | / if let &Some(ref otherwise) = otherwise { [INFO] [stderr] 100 | | self.render(otherwise, context, sink)?; [INFO] [stderr] 101 | | } else { [INFO] [stderr] 102 | | // No else block. [INFO] [stderr] 103 | | } [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] 99 | if let Some(ref otherwise) = *otherwise { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:117:25 [INFO] [stderr] | [INFO] [stderr] 117 | / match next { [INFO] [stderr] 118 | | &Some(ref next) => self.render( [INFO] [stderr] 119 | | template, [INFO] [stderr] 120 | | &IncludeContext { [INFO] [stderr] ... | [INFO] [stderr] 130 | | ), [INFO] [stderr] 131 | | }?; [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] 117 | match *next { [INFO] [stderr] 118 | Some(ref next) => self.render( [INFO] [stderr] 119 | template, [INFO] [stderr] 120 | &IncludeContext { [INFO] [stderr] 121 | inner: context, [INFO] [stderr] 122 | path: next, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/render.rs:210:33 [INFO] [stderr] | [INFO] [stderr] 210 | if parts.next() == Some(self.name.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `self.name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/render.rs:223:33 [INFO] [stderr] | [INFO] [stderr] 223 | if parts.next() == Some(self.name.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `self.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/render.rs:236:33 [INFO] [stderr] | [INFO] [stderr] 236 | if parts.next() == Some(self.name.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `self.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:290:44 [INFO] [stderr] | [INFO] [stderr] 290 | } else if self.src.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] warning: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:295:44 [INFO] [stderr] | [INFO] [stderr] 295 | } else if self.src.starts_with("}") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/compile.rs:302:22 [INFO] [stderr] | [INFO] [stderr] 302 | .unwrap_or(self.src.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.src.len())` [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: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:313:42 [INFO] [stderr] | [INFO] [stderr] 313 | Some(if self.src.starts_with("{") { [INFO] [stderr] | ^^^ help: try using a char instead: `'{'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/compile.rs:317:44 [INFO] [stderr] | [INFO] [stderr] 317 | } else if self.src.starts_with("}") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/compile.rs:325:22 [INFO] [stderr] | [INFO] [stderr] 325 | .unwrap_or(self.src.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.src.len())` [INFO] [stderr] | [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/compile.rs:349:13 [INFO] [stderr] | [INFO] [stderr] 349 | / match found.borrow() { [INFO] [stderr] 350 | | &Symbol::Open => "'{'", [INFO] [stderr] 351 | | &Symbol::Close => "'}'", [INFO] [stderr] 352 | | &Symbol::Text(s) => s, [INFO] [stderr] 353 | | &Symbol::Word(s) => s, [INFO] [stderr] 354 | | } [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] 349 | match *found.borrow() { [INFO] [stderr] 350 | Symbol::Open => "'{'", [INFO] [stderr] 351 | Symbol::Close => "'}'", [INFO] [stderr] 352 | Symbol::Text(s) => s, [INFO] [stderr] 353 | Symbol::Word(s) => s, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/compile.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | / match self { [INFO] [stderr] 365 | | &Error::Unexpected(_, _) => "unexpected input", [INFO] [stderr] 366 | | } [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] 364 | match *self { [INFO] [stderr] 365 | Error::Unexpected(_, _) => "unexpected input", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/compile.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / match self { [INFO] [stderr] 373 | | &Error::Unexpected(a, ref b) => { [INFO] [stderr] 374 | | write!(f, "expected {}, found {}", a, b) [INFO] [stderr] 375 | | } [INFO] [stderr] 376 | | } [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] 372 | match *self { [INFO] [stderr] 373 | Error::Unexpected(a, ref b) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/context/json.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | String(ref s) => s.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/context/json.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | / if let &Value::Array(ref array) = value { [INFO] [stderr] 82 | | for value in array { [INFO] [stderr] 83 | | chomp.chomp(value)?; [INFO] [stderr] 84 | | } [INFO] [stderr] ... | [INFO] [stderr] 87 | | Err(Error::NotIterable(path.to_owned())) [INFO] [stderr] 88 | | } [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] 81 | if let Value::Array(ref array) = *value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/context/toml.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | String(ref s) => s.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/context/toml.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / if let &Value::Array(ref array) = value { [INFO] [stderr] 85 | | for value in array { [INFO] [stderr] 86 | | chomp.chomp(value)?; [INFO] [stderr] 87 | | } [INFO] [stderr] ... | [INFO] [stderr] 90 | | Err(Error::NotIterable(path.to_owned())) [INFO] [stderr] 91 | | } [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] 84 | if let Value::Array(ref array) = *value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/context/mod.rs:63:21 [INFO] [stderr] | [INFO] [stderr] 63 | None => self.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/error.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / match self { [INFO] [stderr] 37 | | &NotInjectable(_) => "variable not injectable", [INFO] [stderr] 38 | | &NotIterable(_) => "variable not iterable", [INFO] [stderr] 39 | | &TemplateNotFound(_) => "template not found", [INFO] [stderr] ... | [INFO] [stderr] 42 | | &Io(ref error) => error.description(), [INFO] [stderr] 43 | | } [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] 36 | match *self { [INFO] [stderr] 37 | NotInjectable(_) => "variable not injectable", [INFO] [stderr] 38 | NotIterable(_) => "variable not iterable", [INFO] [stderr] 39 | TemplateNotFound(_) => "template not found", [INFO] [stderr] 40 | Undefined(_) => "variable undefined", [INFO] [stderr] 41 | Compile(ref error) => error.description(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/error.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | / match self { [INFO] [stderr] 52 | | &NotInjectable(ref path) => write!(f, "variable '{}' not injectable", path), [INFO] [stderr] 53 | | &NotIterable(ref path) => write!(f, "variable '{}' not iterable", path), [INFO] [stderr] 54 | | &TemplateNotFound(ref name) => write!(f, "template '{}' not found", name), [INFO] [stderr] ... | [INFO] [stderr] 57 | | &Io(ref error) => error.fmt(f), [INFO] [stderr] 58 | | } [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] 51 | match *self { [INFO] [stderr] 52 | NotInjectable(ref path) => write!(f, "variable '{}' not injectable", path), [INFO] [stderr] 53 | NotIterable(ref path) => write!(f, "variable '{}' not iterable", path), [INFO] [stderr] 54 | TemplateNotFound(ref name) => write!(f, "template '{}' not found", name), [INFO] [stderr] 55 | Undefined(ref path) => write!(f, "variable '{}' undefined", path), [INFO] [stderr] 56 | Compile(ref error) => error.fmt(f), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/path.rs:27:46 [INFO] [stderr] | [INFO] [stderr] 27 | while let &Path::Pair(first, rest) = node { [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] 27 | while let Path::Pair(first, rest) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/path.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / if let &Path::Pair(first, next) = cur { [INFO] [stderr] 59 | | buf.push_str(first); [INFO] [stderr] 60 | | cur = next; [INFO] [stderr] 61 | | } else { [INFO] [stderr] 62 | | return buf; [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] 58 | if let Path::Pair(first, next) = *cur { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/path.rs:65:46 [INFO] [stderr] | [INFO] [stderr] 65 | while let &Path::Pair(first, next) = cur { [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] 65 | while let Path::Pair(first, next) = *cur { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | / match statement { [INFO] [stderr] 95 | | &Cond { ref pred, ref then, ref otherwise } => { [INFO] [stderr] 96 | | if context.truthy(Path::new(&pred)) { [INFO] [stderr] 97 | | self.render(then, context, sink)?; [INFO] [stderr] ... | [INFO] [stderr] 141 | | }, [INFO] [stderr] 142 | | } [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] 94 | match *statement { [INFO] [stderr] 95 | Cond { ref pred, ref then, ref otherwise } => { [INFO] [stderr] 96 | if context.truthy(Path::new(&pred)) { [INFO] [stderr] 97 | self.render(then, context, sink)?; [INFO] [stderr] 98 | } else { [INFO] [stderr] 99 | if let &Some(ref otherwise) = otherwise { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:99:25 [INFO] [stderr] | [INFO] [stderr] 99 | / if let &Some(ref otherwise) = otherwise { [INFO] [stderr] 100 | | self.render(otherwise, context, sink)?; [INFO] [stderr] 101 | | } else { [INFO] [stderr] 102 | | // No else block. [INFO] [stderr] 103 | | } [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] 99 | if let Some(ref otherwise) = *otherwise { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/render.rs:117:25 [INFO] [stderr] | [INFO] [stderr] 117 | / match next { [INFO] [stderr] 118 | | &Some(ref next) => self.render( [INFO] [stderr] 119 | | template, [INFO] [stderr] 120 | | &IncludeContext { [INFO] [stderr] ... | [INFO] [stderr] 130 | | ), [INFO] [stderr] 131 | | }?; [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] 117 | match *next { [INFO] [stderr] 118 | Some(ref next) => self.render( [INFO] [stderr] 119 | template, [INFO] [stderr] 120 | &IncludeContext { [INFO] [stderr] 121 | inner: context, [INFO] [stderr] 122 | path: next, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/render.rs:210:33 [INFO] [stderr] | [INFO] [stderr] 210 | if parts.next() == Some(self.name.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `self.name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/render.rs:223:33 [INFO] [stderr] | [INFO] [stderr] 223 | if parts.next() == Some(self.name.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `self.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/render.rs:236:33 [INFO] [stderr] | [INFO] [stderr] 236 | if parts.next() == Some(self.name.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `self.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> examples/macros.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.81s [INFO] running `"docker" "inspect" "58915b7c18dda3add1dbe627bf18e865e7c8dc57a55e1c0b664e9e0a70b5f18b"` [INFO] running `"docker" "rm" "-f" "58915b7c18dda3add1dbe627bf18e865e7c8dc57a55e1c0b664e9e0a70b5f18b"` [INFO] [stdout] 58915b7c18dda3add1dbe627bf18e865e7c8dc57a55e1c0b664e9e0a70b5f18b