[INFO] crate hashtag 0.1.10 is already in cache [INFO] extracting crate hashtag 0.1.10 into work/ex/clippy-test-run/sources/stable/reg/hashtag/0.1.10 [INFO] extracting crate hashtag 0.1.10 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hashtag/0.1.10 [INFO] validating manifest of hashtag-0.1.10 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 hashtag-0.1.10 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 hashtag-0.1.10 [INFO] finished frobbing hashtag-0.1.10 [INFO] frobbed toml for hashtag-0.1.10 written to work/ex/clippy-test-run/sources/stable/reg/hashtag/0.1.10/Cargo.toml [INFO] started frobbing hashtag-0.1.10 [INFO] finished frobbing hashtag-0.1.10 [INFO] frobbed toml for hashtag-0.1.10 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hashtag/0.1.10/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 hashtag-0.1.10 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/hashtag/0.1.10:/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] ca70a6e1f9342361303a180de739e3c3b0dbb4ffc0568c7951eba2adf324fae0 [INFO] running `"docker" "start" "-a" "ca70a6e1f9342361303a180de739e3c3b0dbb4ffc0568c7951eba2adf324fae0"` [INFO] [stderr] Checking hashtag v0.1.10 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/lib.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/lib.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/lib.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | hashtags [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:266:20 [INFO] [stderr] | [INFO] [stderr] 266 | let hashtags = stm.get_hashtags(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | hashtags [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:266:20 [INFO] [stderr] | [INFO] [stderr] 266 | let hashtags = stm.get_hashtags(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/lib.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | / loop { [INFO] [stderr] 213 | | if let Some(token) = tokens_iter.next() { [INFO] [stderr] 214 | | match token { [INFO] [stderr] 215 | | &Token::Hashtag(idx) => { [INFO] [stderr] ... | [INFO] [stderr] 264 | | } [INFO] [stderr] 265 | | } [INFO] [stderr] | |_____^ help: try: `while let Some(token) = tokens_iter.next() { .. }` [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/lib.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | / match token { [INFO] [stderr] 215 | | &Token::Hashtag(idx) => { [INFO] [stderr] 216 | | if stm.parsing_hashtag() { [INFO] [stderr] 217 | | if tokens_iter.peek().is_end_of_hashtag() { [INFO] [stderr] ... | [INFO] [stderr] 260 | | } [INFO] [stderr] 261 | | } [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] 214 | match *token { [INFO] [stderr] 215 | Token::Hashtag(idx) => { [INFO] [stderr] 216 | if stm.parsing_hashtag() { [INFO] [stderr] 217 | if tokens_iter.peek().is_end_of_hashtag() { [INFO] [stderr] 218 | stm.reset_parsing_state(); [INFO] [stderr] 219 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_hashtag_token` which has no body [INFO] [stderr] --> src/lib.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 281 | | fn is_hashtag_token(&self) -> bool; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | / match self { [INFO] [stderr] 288 | | &Token::Hashtag(_) => true, [INFO] [stderr] 289 | | &Token::Char(_, _) => false, [INFO] [stderr] 290 | | &Token::Whitespace(_) => false, [INFO] [stderr] 291 | | &Token::StartOfString => false, [INFO] [stderr] 292 | | &Token::EndOfString(_) => false, [INFO] [stderr] 293 | | } [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] 287 | match *self { [INFO] [stderr] 288 | Token::Hashtag(_) => true, [INFO] [stderr] 289 | Token::Char(_, _) => false, [INFO] [stderr] 290 | Token::Whitespace(_) => false, [INFO] [stderr] 291 | Token::StartOfString => false, [INFO] [stderr] 292 | Token::EndOfString(_) => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | / if let &Some(ref x) = self { [INFO] [stderr] 304 | | x.is_hashtag_token() [INFO] [stderr] 305 | | } else { [INFO] [stderr] 306 | | false [INFO] [stderr] 307 | | } [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] 303 | if let Some(ref x) = *self { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_end_of_hashtag` which has no body [INFO] [stderr] --> src/lib.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 332 | | fn is_end_of_hashtag(&self) -> bool; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:338:9 [INFO] [stderr] | [INFO] [stderr] 338 | / match self { [INFO] [stderr] 339 | | &'\'' | &' ' | &'%' | &'#' | &'\n' | &'"' | &'\t' | &'!' | &'@' | &'$' | &'^' | [INFO] [stderr] 340 | | &'&' | &'*' | &'(' | &')' | &'\r' | &'.' | &',' | &'-' | &'<' | &'>' | &'/' | [INFO] [stderr] 341 | | &'\\' | &'|' | &'[' | &']' | &'{' | &'}' | &'`' | &'~' | &'=' | &'+' | &';' | [INFO] [stderr] ... | [INFO] [stderr] 344 | | _ => false, [INFO] [stderr] 345 | | } [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] 338 | match *self { [INFO] [stderr] 339 | '\'' | ' ' | '%' | '#' | '\n' | '"' | '\t' | '!' | '@' | '$' | '^' | [INFO] [stderr] 340 | '&' | '*' | '(' | ')' | '\r' | '.' | ',' | '-' | '<' | '>' | '/' | [INFO] [stderr] 341 | '\\' | '|' | '[' | ']' | '{' | '}' | '`' | '~' | '=' | '+' | ';' | [INFO] [stderr] 342 | '?' | '£' | '•' | '´' | ':' => true, [INFO] [stderr] 343 | '_' => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | / match self { [INFO] [stderr] 353 | | &Token::Whitespace(_) => true, [INFO] [stderr] 354 | | &Token::Char(c, _) => c.is_end_of_hashtag(), [INFO] [stderr] 355 | | &Token::EndOfString(_) => true, [INFO] [stderr] 356 | | &Token::Hashtag(_) => false, [INFO] [stderr] 357 | | &Token::StartOfString => false, [INFO] [stderr] 358 | | } [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] 352 | match *self { [INFO] [stderr] 353 | Token::Whitespace(_) => true, [INFO] [stderr] 354 | Token::Char(c, _) => c.is_end_of_hashtag(), [INFO] [stderr] 355 | Token::EndOfString(_) => true, [INFO] [stderr] 356 | Token::Hashtag(_) => false, [INFO] [stderr] 357 | Token::StartOfString => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:368:9 [INFO] [stderr] | [INFO] [stderr] 368 | / if let &Some(ref x) = self { [INFO] [stderr] 369 | | x.is_end_of_hashtag() [INFO] [stderr] 370 | | } else { [INFO] [stderr] 371 | | false [INFO] [stderr] 372 | | } [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] 368 | if let Some(ref x) = *self { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hashtag`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/lib.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | / loop { [INFO] [stderr] 213 | | if let Some(token) = tokens_iter.next() { [INFO] [stderr] 214 | | match token { [INFO] [stderr] 215 | | &Token::Hashtag(idx) => { [INFO] [stderr] ... | [INFO] [stderr] 264 | | } [INFO] [stderr] 265 | | } [INFO] [stderr] | |_____^ help: try: `while let Some(token) = tokens_iter.next() { .. }` [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/lib.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | / match token { [INFO] [stderr] 215 | | &Token::Hashtag(idx) => { [INFO] [stderr] 216 | | if stm.parsing_hashtag() { [INFO] [stderr] 217 | | if tokens_iter.peek().is_end_of_hashtag() { [INFO] [stderr] ... | [INFO] [stderr] 260 | | } [INFO] [stderr] 261 | | } [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] 214 | match *token { [INFO] [stderr] 215 | Token::Hashtag(idx) => { [INFO] [stderr] 216 | if stm.parsing_hashtag() { [INFO] [stderr] 217 | if tokens_iter.peek().is_end_of_hashtag() { [INFO] [stderr] 218 | stm.reset_parsing_state(); [INFO] [stderr] 219 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_hashtag_token` which has no body [INFO] [stderr] --> src/lib.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 281 | | fn is_hashtag_token(&self) -> bool; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | / match self { [INFO] [stderr] 288 | | &Token::Hashtag(_) => true, [INFO] [stderr] 289 | | &Token::Char(_, _) => false, [INFO] [stderr] 290 | | &Token::Whitespace(_) => false, [INFO] [stderr] 291 | | &Token::StartOfString => false, [INFO] [stderr] 292 | | &Token::EndOfString(_) => false, [INFO] [stderr] 293 | | } [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] 287 | match *self { [INFO] [stderr] 288 | Token::Hashtag(_) => true, [INFO] [stderr] 289 | Token::Char(_, _) => false, [INFO] [stderr] 290 | Token::Whitespace(_) => false, [INFO] [stderr] 291 | Token::StartOfString => false, [INFO] [stderr] 292 | Token::EndOfString(_) => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | / if let &Some(ref x) = self { [INFO] [stderr] 304 | | x.is_hashtag_token() [INFO] [stderr] 305 | | } else { [INFO] [stderr] 306 | | false [INFO] [stderr] 307 | | } [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] 303 | if let Some(ref x) = *self { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_end_of_hashtag` which has no body [INFO] [stderr] --> src/lib.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 332 | | fn is_end_of_hashtag(&self) -> bool; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:338:9 [INFO] [stderr] | [INFO] [stderr] 338 | / match self { [INFO] [stderr] 339 | | &'\'' | &' ' | &'%' | &'#' | &'\n' | &'"' | &'\t' | &'!' | &'@' | &'$' | &'^' | [INFO] [stderr] 340 | | &'&' | &'*' | &'(' | &')' | &'\r' | &'.' | &',' | &'-' | &'<' | &'>' | &'/' | [INFO] [stderr] 341 | | &'\\' | &'|' | &'[' | &']' | &'{' | &'}' | &'`' | &'~' | &'=' | &'+' | &';' | [INFO] [stderr] ... | [INFO] [stderr] 344 | | _ => false, [INFO] [stderr] 345 | | } [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] 338 | match *self { [INFO] [stderr] 339 | '\'' | ' ' | '%' | '#' | '\n' | '"' | '\t' | '!' | '@' | '$' | '^' | [INFO] [stderr] 340 | '&' | '*' | '(' | ')' | '\r' | '.' | ',' | '-' | '<' | '>' | '/' | [INFO] [stderr] 341 | '\\' | '|' | '[' | ']' | '{' | '}' | '`' | '~' | '=' | '+' | ';' | [INFO] [stderr] 342 | '?' | '£' | '•' | '´' | ':' => true, [INFO] [stderr] 343 | '_' => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | / match self { [INFO] [stderr] 353 | | &Token::Whitespace(_) => true, [INFO] [stderr] 354 | | &Token::Char(c, _) => c.is_end_of_hashtag(), [INFO] [stderr] 355 | | &Token::EndOfString(_) => true, [INFO] [stderr] 356 | | &Token::Hashtag(_) => false, [INFO] [stderr] 357 | | &Token::StartOfString => false, [INFO] [stderr] 358 | | } [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] 352 | match *self { [INFO] [stderr] 353 | Token::Whitespace(_) => true, [INFO] [stderr] 354 | Token::Char(c, _) => c.is_end_of_hashtag(), [INFO] [stderr] 355 | Token::EndOfString(_) => true, [INFO] [stderr] 356 | Token::Hashtag(_) => false, [INFO] [stderr] 357 | Token::StartOfString => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:368:9 [INFO] [stderr] | [INFO] [stderr] 368 | / if let &Some(ref x) = self { [INFO] [stderr] 369 | | x.is_end_of_hashtag() [INFO] [stderr] 370 | | } else { [INFO] [stderr] 371 | | false [INFO] [stderr] 372 | | } [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] 368 | if let Some(ref x) = *self { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hashtag`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "ca70a6e1f9342361303a180de739e3c3b0dbb4ffc0568c7951eba2adf324fae0"` [INFO] running `"docker" "rm" "-f" "ca70a6e1f9342361303a180de739e3c3b0dbb4ffc0568c7951eba2adf324fae0"` [INFO] [stdout] ca70a6e1f9342361303a180de739e3c3b0dbb4ffc0568c7951eba2adf324fae0