[INFO] crate feed-rs 0.1.3 is already in cache [INFO] extracting crate feed-rs 0.1.3 into work/ex/clippy-test-run/sources/stable/reg/feed-rs/0.1.3 [INFO] extracting crate feed-rs 0.1.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/feed-rs/0.1.3 [INFO] validating manifest of feed-rs-0.1.3 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 feed-rs-0.1.3 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 feed-rs-0.1.3 [INFO] finished frobbing feed-rs-0.1.3 [INFO] frobbed toml for feed-rs-0.1.3 written to work/ex/clippy-test-run/sources/stable/reg/feed-rs/0.1.3/Cargo.toml [INFO] started frobbing feed-rs-0.1.3 [INFO] finished frobbing feed-rs-0.1.3 [INFO] frobbed toml for feed-rs-0.1.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/feed-rs/0.1.3/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 feed-rs-0.1.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/feed-rs/0.1.3:/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] 1aa38e2c178c15ffa3786ef2d0a02bf009250eb5b0739cccd9604a36f1250623 [INFO] running `"docker" "start" "-a" "1aa38e2c178c15ffa3786ef2d0a02bf009250eb5b0739cccd9604a36f1250623"` [INFO] [stderr] Compiling string_cache v0.5.2 [INFO] [stderr] Compiling markup5ever v0.2.1 [INFO] [stderr] Checking xml5ever v0.7.0 [INFO] [stderr] Checking feed-rs v0.1.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/entry.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | href: href, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `href` [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/entry.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | mime_type: mime_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mime_type` [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/entry.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | href: href, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `href` [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/entry.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | href: href, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `href` [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/entry.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | mime_type: mime_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mime_type` [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/entry.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | href: href, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `href` [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/parser/rss2.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 47 | | if let Some(url) = text(child.clone()) { [INFO] [stderr] 48 | | feed.website = Some(url) [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [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] 46 | } else if let Some(url) = text(child.clone()) { [INFO] [stderr] 47 | feed.website = Some(url) [INFO] [stderr] 48 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/mod.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/parser/rss2.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 47 | | if let Some(url) = text(child.clone()) { [INFO] [stderr] 48 | | feed.website = Some(url) [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [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] 46 | } else if let Some(url) = text(child.clone()) { [INFO] [stderr] 47 | feed.website = Some(url) [INFO] [stderr] 48 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/mod.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rel` [INFO] [stderr] --> src/parser/atom.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | rel => { [INFO] [stderr] | ^^^ help: consider using `_rel` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rel` [INFO] [stderr] --> src/parser/atom.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | rel => { [INFO] [stderr] | ^^^ help: consider using `_rel` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `entry::Entry` [INFO] [stderr] --> src/entry.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn new() -> Entry { [INFO] [stderr] 28 | | Entry { [INFO] [stderr] 29 | | id: "".to_string(), [INFO] [stderr] 30 | | title: None, [INFO] [stderr] ... | [INFO] [stderr] 40 | | } [INFO] [stderr] 41 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 26 | impl Default for entry::Entry { [INFO] [stderr] 27 | fn default() -> Self { [INFO] [stderr] 28 | Self::new() [INFO] [stderr] 29 | } [INFO] [stderr] 30 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `feed::Feed` [INFO] [stderr] --> src/feed.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> Feed { [INFO] [stderr] 24 | | Feed { [INFO] [stderr] 25 | | id: String::from(""), [INFO] [stderr] 26 | | title: None, [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | / match child.data { [INFO] [stderr] 13 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 14 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 15 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 30 | | _ => {}, [INFO] [stderr] 31 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 13 | let tag_name = name.local.as_ref(); [INFO] [stderr] 14 | match tag_name { [INFO] [stderr] 15 | "channel" => feed = handle_channel(child.clone()), [INFO] [stderr] 16 | "item" => { [INFO] [stderr] 17 | if let Some(about) = attr("about", &attrs.borrow()) { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/parser/rss1.rs:21:53 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|e| e.id == about.to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `about` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / match node.data { [INFO] [stderr] 43 | | NodeData::Element { ref attrs, .. } => { [INFO] [stderr] 44 | | if let Some(about) = attr("about", &attrs.borrow()) { [INFO] [stderr] 45 | | feed.id = about; [INFO] [stderr] ... | [INFO] [stderr] 48 | | _ => (), [INFO] [stderr] 49 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 42 | if let NodeData::Element { ref attrs, .. } = node.data { [INFO] [stderr] 43 | if let Some(about) = attr("about", &attrs.borrow()) { [INFO] [stderr] 44 | feed.id = about; [INFO] [stderr] 45 | } [INFO] [stderr] 46 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | / match child.data { [INFO] [stderr] 52 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 53 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 54 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 66 | | _ => {}, [INFO] [stderr] 67 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 51 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 52 | let tag_name = name.local.as_ref(); [INFO] [stderr] 53 | match tag_name { [INFO] [stderr] 54 | "title" => feed.title = text(child.clone()), [INFO] [stderr] 55 | "description" => feed.description = text(child.clone()), [INFO] [stderr] 56 | "link" => feed.website = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | / match child.data { [INFO] [stderr] 77 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 78 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 79 | | if tag_name == "Seq" { [INFO] [stderr] ... | [INFO] [stderr] 83 | | _ => (), [INFO] [stderr] 84 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 77 | let tag_name = name.local.as_ref(); [INFO] [stderr] 78 | if tag_name == "Seq" { [INFO] [stderr] 79 | seq = Some(child.clone()); [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | / match child.data { [INFO] [stderr] 92 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 93 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 94 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 105 | | _ => (), [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 91 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 92 | let tag_name = name.local.as_ref(); [INFO] [stderr] 93 | match tag_name { [INFO] [stderr] 94 | "li" => { [INFO] [stderr] 95 | if let Some(resource) = attr("resource", &attrs.borrow()) { [INFO] [stderr] 96 | let mut entry = Entry::new(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | / match tag_name { [INFO] [stderr] 95 | | "li" => { [INFO] [stderr] 96 | | if let Some(resource) = attr("resource", &attrs.borrow()) { [INFO] [stderr] 97 | | let mut entry = Entry::new(); [INFO] [stderr] ... | [INFO] [stderr] 102 | | _ => (), [INFO] [stderr] 103 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 94 | if let "li" = tag_name { [INFO] [stderr] 95 | if let Some(resource) = attr("resource", &attrs.borrow()) { [INFO] [stderr] 96 | let mut entry = Entry::new(); [INFO] [stderr] 97 | entry.id = resource; [INFO] [stderr] 98 | feed.entries.push(entry); [INFO] [stderr] 99 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | / match child.data { [INFO] [stderr] 116 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 117 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 118 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 135 | | _ => (), [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 115 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 116 | let tag_name = name.local.as_ref(); [INFO] [stderr] 117 | match tag_name { [INFO] [stderr] 118 | "title" => entry.title = text(child.clone()), [INFO] [stderr] 119 | "description" => entry.summary = text(child.clone()), [INFO] [stderr] 120 | "link" => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss1.rs:124:30 [INFO] [stderr] | [INFO] [stderr] 124 | .unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [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 `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss1.rs:127:74 [INFO] [stderr] | [INFO] [stderr] 127 | "date" => entry.published = timestamp(child.clone()).unwrap_or(Utc::now().naive_utc()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Utc::now().naive_utc())` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | / match child.data { [INFO] [stderr] 15 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 16 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 17 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 22 | | _ => {}, [INFO] [stderr] 23 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 14 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 15 | let tag_name = name.local.as_ref(); [INFO] [stderr] 16 | match tag_name { [INFO] [stderr] 17 | "channel" => handle_channel(child.clone(), &mut feed), [INFO] [stderr] 18 | _ => (), [INFO] [stderr] 19 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | / match tag_name { [INFO] [stderr] 18 | | "channel" => handle_channel(child.clone(), &mut feed), [INFO] [stderr] 19 | | _ => (), [INFO] [stderr] 20 | | } [INFO] [stderr] | |_________________^ help: try this: `if let "channel" = tag_name { handle_channel(child.clone(), &mut feed) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / match child.data { [INFO] [stderr] 32 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 33 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 34 | | let ns = name.ns.as_ref(); [INFO] [stderr] ... | [INFO] [stderr] 76 | | _ => {}, [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 31 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 32 | let tag_name = name.local.as_ref(); [INFO] [stderr] 33 | let ns = name.ns.as_ref(); [INFO] [stderr] 34 | match tag_name { [INFO] [stderr] 35 | "title" => feed.title = text(child.clone()), [INFO] [stderr] 36 | "description" => feed.description = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / match child.data { [INFO] [stderr] 85 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 86 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 87 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 92 | | _ => (), [INFO] [stderr] 93 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 84 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 85 | let tag_name = name.local.as_ref(); [INFO] [stderr] 86 | match tag_name { [INFO] [stderr] 87 | "url" => return text(child.clone()), [INFO] [stderr] 88 | _ => (), [INFO] [stderr] 89 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | / match tag_name { [INFO] [stderr] 88 | | "url" => return text(child.clone()), [INFO] [stderr] 89 | | _ => (), [INFO] [stderr] 90 | | } [INFO] [stderr] | |_________________^ help: try this: `if let "url" = tag_name { return text(child.clone()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | / match child.data { [INFO] [stderr] 104 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 105 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 106 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 137 | | _ => (), [INFO] [stderr] 138 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 103 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 104 | let tag_name = name.local.as_ref(); [INFO] [stderr] 105 | match tag_name { [INFO] [stderr] 106 | "title" => entry.title = text(child.clone()), [INFO] [stderr] 107 | "description" => entry.summary = text(child.clone()), [INFO] [stderr] 108 | "link" => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss2.rs:112:30 [INFO] [stderr] | [INFO] [stderr] 112 | .unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | / match (mime_type, length, url) { [INFO] [stderr] 125 | | (Some(mime_type), Some(length), Some(url)) => { [INFO] [stderr] 126 | | entry.enclosure.push(Link::enc(mime_type, length, url)) [INFO] [stderr] 127 | | }, [INFO] [stderr] 128 | | _ => (), [INFO] [stderr] 129 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 124 | if let (Some(mime_type), Some(length), Some(url)) = (mime_type, length, url) { [INFO] [stderr] 125 | entry.enclosure.push(Link::enc(mime_type, length, url)) [INFO] [stderr] 126 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss2.rs:131:62 [INFO] [stderr] | [INFO] [stderr] 131 | "guid" => entry.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(uuid_gen)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss2.rs:140:33 [INFO] [stderr] | [INFO] [stderr] 140 | entry.published = published.unwrap_or(Utc::now().naive_utc()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Utc::now().naive_utc())` [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 should consider adding a `Default` implementation for `entry::Entry` [INFO] [stderr] --> src/entry.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn new() -> Entry { [INFO] [stderr] 28 | | Entry { [INFO] [stderr] 29 | | id: "".to_string(), [INFO] [stderr] 30 | | title: None, [INFO] [stderr] ... | [INFO] [stderr] 40 | | } [INFO] [stderr] 41 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 26 | impl Default for entry::Entry { [INFO] [stderr] 27 | fn default() -> Self { [INFO] [stderr] 28 | Self::new() [INFO] [stderr] 29 | } [INFO] [stderr] 30 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/atom.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | / match child.data { [INFO] [stderr] 13 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 14 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 15 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 47 | | _ => {}, [INFO] [stderr] 48 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 13 | let tag_name = name.local.as_ref(); [INFO] [stderr] 14 | match tag_name { [INFO] [stderr] 15 | "id" => feed.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] 16 | "title" => feed.title = text(child.clone()), [INFO] [stderr] 17 | "subtitle" => feed.description = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:16:62 [INFO] [stderr] | [INFO] [stderr] 16 | "id" => feed.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(uuid_gen)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:24:59 [INFO] [stderr] | [INFO] [stderr] 24 | let rel = attr("rel", attributes).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/atom.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / match child.data { [INFO] [stderr] 59 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 60 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 61 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 116 | | _ => (), [INFO] [stderr] 117 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 58 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 59 | let tag_name = name.local.as_ref(); [INFO] [stderr] 60 | match tag_name { [INFO] [stderr] 61 | "id" => entry.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] 62 | "title" => entry.title = text(child.clone()), [INFO] [stderr] 63 | "summary" => entry.summary = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:62:60 [INFO] [stderr] | [INFO] [stderr] 62 | "id" => entry.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(uuid_gen)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:68:69 [INFO] [stderr] | [INFO] [stderr] 68 | let content_type = attr("type", attributes).unwrap_or("text".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "text".to_string())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:80:65 [INFO] [stderr] | [INFO] [stderr] 80 | let rel = attr("rel", attributes).unwrap_or("alternate".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "alternate".to_string())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:81:66 [INFO] [stderr] | [INFO] [stderr] 81 | let mime_type = attr("type", attributes).unwrap_or("text/html".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "text/html".to_string())` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/atom.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 105 | / match (term, scheme, label) { [INFO] [stderr] 106 | | (Some(term), _, _) => entry.keywords.push(term), [INFO] [stderr] 107 | | _ => (), [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________________________^ help: try this: `if let (Some(term), _, _) = (term, scheme, label) { entry.keywords.push(term) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:119:33 [INFO] [stderr] | [INFO] [stderr] 119 | entry.published = published.unwrap_or(Utc::now().naive_utc()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Utc::now().naive_utc())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/mod.rs:30:61 [INFO] [stderr] | [INFO] [stderr] 30 | let version = attr("version", &attrs.borrow()).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/mod.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn attr(attr_name: &str, attrs: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Attribute]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/mod.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | / match child.data { [INFO] [stderr] 65 | | NodeData::Text { ref contents } => [INFO] [stderr] 66 | | return Some(contents.borrow().to_string()), [INFO] [stderr] 67 | | _ => (), [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________^ help: try this: `if let NodeData::Text { ref contents } = child.data { return Some(contents.borrow().to_string()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/parser/mod.rs:87:68 [INFO] [stderr] | [INFO] [stderr] 87 | .and_then(|s| DateTime::parse_from_rfc2822(&s.trim()).ok().or( [INFO] [stderr] | ____________________________________________________________________^ [INFO] [stderr] 88 | | DateTime::parse_from_rfc3339(&s.trim()).ok() [INFO] [stderr] 89 | | )).map(|n| n.naive_utc()) [INFO] [stderr] | |_________^ help: try this: `or_else(|| DateTime::parse_from_rfc3339(&s.trim()).ok())` [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 should consider deriving a `Default` implementation for `feed::Feed` [INFO] [stderr] --> src/feed.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> Feed { [INFO] [stderr] 24 | | Feed { [INFO] [stderr] 25 | | id: String::from(""), [INFO] [stderr] 26 | | title: None, [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | / match child.data { [INFO] [stderr] 13 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 14 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 15 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 30 | | _ => {}, [INFO] [stderr] 31 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 13 | let tag_name = name.local.as_ref(); [INFO] [stderr] 14 | match tag_name { [INFO] [stderr] 15 | "channel" => feed = handle_channel(child.clone()), [INFO] [stderr] 16 | "item" => { [INFO] [stderr] 17 | if let Some(about) = attr("about", &attrs.borrow()) { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/parser/rss1.rs:21:53 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|e| e.id == about.to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `about` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / match node.data { [INFO] [stderr] 43 | | NodeData::Element { ref attrs, .. } => { [INFO] [stderr] 44 | | if let Some(about) = attr("about", &attrs.borrow()) { [INFO] [stderr] 45 | | feed.id = about; [INFO] [stderr] ... | [INFO] [stderr] 48 | | _ => (), [INFO] [stderr] 49 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 42 | if let NodeData::Element { ref attrs, .. } = node.data { [INFO] [stderr] 43 | if let Some(about) = attr("about", &attrs.borrow()) { [INFO] [stderr] 44 | feed.id = about; [INFO] [stderr] 45 | } [INFO] [stderr] 46 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | / match child.data { [INFO] [stderr] 52 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 53 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 54 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 66 | | _ => {}, [INFO] [stderr] 67 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 51 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 52 | let tag_name = name.local.as_ref(); [INFO] [stderr] 53 | match tag_name { [INFO] [stderr] 54 | "title" => feed.title = text(child.clone()), [INFO] [stderr] 55 | "description" => feed.description = text(child.clone()), [INFO] [stderr] 56 | "link" => feed.website = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | / match child.data { [INFO] [stderr] 77 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 78 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 79 | | if tag_name == "Seq" { [INFO] [stderr] ... | [INFO] [stderr] 83 | | _ => (), [INFO] [stderr] 84 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 77 | let tag_name = name.local.as_ref(); [INFO] [stderr] 78 | if tag_name == "Seq" { [INFO] [stderr] 79 | seq = Some(child.clone()); [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | / match child.data { [INFO] [stderr] 92 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 93 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 94 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 105 | | _ => (), [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 91 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 92 | let tag_name = name.local.as_ref(); [INFO] [stderr] 93 | match tag_name { [INFO] [stderr] 94 | "li" => { [INFO] [stderr] 95 | if let Some(resource) = attr("resource", &attrs.borrow()) { [INFO] [stderr] 96 | let mut entry = Entry::new(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | / match tag_name { [INFO] [stderr] 95 | | "li" => { [INFO] [stderr] 96 | | if let Some(resource) = attr("resource", &attrs.borrow()) { [INFO] [stderr] 97 | | let mut entry = Entry::new(); [INFO] [stderr] ... | [INFO] [stderr] 102 | | _ => (), [INFO] [stderr] 103 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 94 | if let "li" = tag_name { [INFO] [stderr] 95 | if let Some(resource) = attr("resource", &attrs.borrow()) { [INFO] [stderr] 96 | let mut entry = Entry::new(); [INFO] [stderr] 97 | entry.id = resource; [INFO] [stderr] 98 | feed.entries.push(entry); [INFO] [stderr] 99 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss1.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | / match child.data { [INFO] [stderr] 116 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 117 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 118 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 135 | | _ => (), [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 115 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 116 | let tag_name = name.local.as_ref(); [INFO] [stderr] 117 | match tag_name { [INFO] [stderr] 118 | "title" => entry.title = text(child.clone()), [INFO] [stderr] 119 | "description" => entry.summary = text(child.clone()), [INFO] [stderr] 120 | "link" => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss1.rs:124:30 [INFO] [stderr] | [INFO] [stderr] 124 | .unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [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 `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss1.rs:127:74 [INFO] [stderr] | [INFO] [stderr] 127 | "date" => entry.published = timestamp(child.clone()).unwrap_or(Utc::now().naive_utc()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Utc::now().naive_utc())` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | / match child.data { [INFO] [stderr] 15 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 16 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 17 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 22 | | _ => {}, [INFO] [stderr] 23 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 14 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 15 | let tag_name = name.local.as_ref(); [INFO] [stderr] 16 | match tag_name { [INFO] [stderr] 17 | "channel" => handle_channel(child.clone(), &mut feed), [INFO] [stderr] 18 | _ => (), [INFO] [stderr] 19 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | / match tag_name { [INFO] [stderr] 18 | | "channel" => handle_channel(child.clone(), &mut feed), [INFO] [stderr] 19 | | _ => (), [INFO] [stderr] 20 | | } [INFO] [stderr] | |_________________^ help: try this: `if let "channel" = tag_name { handle_channel(child.clone(), &mut feed) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / match child.data { [INFO] [stderr] 32 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 33 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 34 | | let ns = name.ns.as_ref(); [INFO] [stderr] ... | [INFO] [stderr] 76 | | _ => {}, [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 31 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 32 | let tag_name = name.local.as_ref(); [INFO] [stderr] 33 | let ns = name.ns.as_ref(); [INFO] [stderr] 34 | match tag_name { [INFO] [stderr] 35 | "title" => feed.title = text(child.clone()), [INFO] [stderr] 36 | "description" => feed.description = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / match child.data { [INFO] [stderr] 85 | | NodeData::Element { ref name, .. } => { [INFO] [stderr] 86 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 87 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 92 | | _ => (), [INFO] [stderr] 93 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 84 | if let NodeData::Element { ref name, .. } = child.data { [INFO] [stderr] 85 | let tag_name = name.local.as_ref(); [INFO] [stderr] 86 | match tag_name { [INFO] [stderr] 87 | "url" => return text(child.clone()), [INFO] [stderr] 88 | _ => (), [INFO] [stderr] 89 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | / match tag_name { [INFO] [stderr] 88 | | "url" => return text(child.clone()), [INFO] [stderr] 89 | | _ => (), [INFO] [stderr] 90 | | } [INFO] [stderr] | |_________________^ help: try this: `if let "url" = tag_name { return text(child.clone()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | / match child.data { [INFO] [stderr] 104 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 105 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 106 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 137 | | _ => (), [INFO] [stderr] 138 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 103 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 104 | let tag_name = name.local.as_ref(); [INFO] [stderr] 105 | match tag_name { [INFO] [stderr] 106 | "title" => entry.title = text(child.clone()), [INFO] [stderr] 107 | "description" => entry.summary = text(child.clone()), [INFO] [stderr] 108 | "link" => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss2.rs:112:30 [INFO] [stderr] | [INFO] [stderr] 112 | .unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/rss2.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | / match (mime_type, length, url) { [INFO] [stderr] 125 | | (Some(mime_type), Some(length), Some(url)) => { [INFO] [stderr] 126 | | entry.enclosure.push(Link::enc(mime_type, length, url)) [INFO] [stderr] 127 | | }, [INFO] [stderr] 128 | | _ => (), [INFO] [stderr] 129 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 124 | if let (Some(mime_type), Some(length), Some(url)) = (mime_type, length, url) { [INFO] [stderr] 125 | entry.enclosure.push(Link::enc(mime_type, length, url)) [INFO] [stderr] 126 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss2.rs:131:62 [INFO] [stderr] | [INFO] [stderr] 131 | "guid" => entry.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(uuid_gen)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/rss2.rs:140:33 [INFO] [stderr] | [INFO] [stderr] 140 | entry.published = published.unwrap_or(Utc::now().naive_utc()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Utc::now().naive_utc())` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/atom.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | / match child.data { [INFO] [stderr] 13 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 14 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 15 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 47 | | _ => {}, [INFO] [stderr] 48 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 13 | let tag_name = name.local.as_ref(); [INFO] [stderr] 14 | match tag_name { [INFO] [stderr] 15 | "id" => feed.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] 16 | "title" => feed.title = text(child.clone()), [INFO] [stderr] 17 | "subtitle" => feed.description = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:16:62 [INFO] [stderr] | [INFO] [stderr] 16 | "id" => feed.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(uuid_gen)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:24:59 [INFO] [stderr] | [INFO] [stderr] 24 | let rel = attr("rel", attributes).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/atom.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / match child.data { [INFO] [stderr] 59 | | NodeData::Element { ref name, ref attrs, .. } => { [INFO] [stderr] 60 | | let tag_name = name.local.as_ref(); [INFO] [stderr] 61 | | match tag_name { [INFO] [stderr] ... | [INFO] [stderr] 116 | | _ => (), [INFO] [stderr] 117 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 58 | if let NodeData::Element { ref name, ref attrs, .. } = child.data { [INFO] [stderr] 59 | let tag_name = name.local.as_ref(); [INFO] [stderr] 60 | match tag_name { [INFO] [stderr] 61 | "id" => entry.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] 62 | "title" => entry.title = text(child.clone()), [INFO] [stderr] 63 | "summary" => entry.summary = text(child.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:62:60 [INFO] [stderr] | [INFO] [stderr] 62 | "id" => entry.id = text(child.clone()).unwrap_or(uuid_gen()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(uuid_gen)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:68:69 [INFO] [stderr] | [INFO] [stderr] 68 | let content_type = attr("type", attributes).unwrap_or("text".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "text".to_string())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:80:65 [INFO] [stderr] | [INFO] [stderr] 80 | let rel = attr("rel", attributes).unwrap_or("alternate".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "alternate".to_string())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:81:66 [INFO] [stderr] | [INFO] [stderr] 81 | let mime_type = attr("type", attributes).unwrap_or("text/html".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "text/html".to_string())` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/atom.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 105 | / match (term, scheme, label) { [INFO] [stderr] 106 | | (Some(term), _, _) => entry.keywords.push(term), [INFO] [stderr] 107 | | _ => (), [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________________________^ help: try this: `if let (Some(term), _, _) = (term, scheme, label) { entry.keywords.push(term) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/atom.rs:119:33 [INFO] [stderr] | [INFO] [stderr] 119 | entry.published = published.unwrap_or(Utc::now().naive_utc()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Utc::now().naive_utc())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/mod.rs:30:61 [INFO] [stderr] | [INFO] [stderr] 30 | let version = attr("version", &attrs.borrow()).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/mod.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn attr(attr_name: &str, attrs: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Attribute]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/mod.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | / match child.data { [INFO] [stderr] 65 | | NodeData::Text { ref contents } => [INFO] [stderr] 66 | | return Some(contents.borrow().to_string()), [INFO] [stderr] 67 | | _ => (), [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________^ help: try this: `if let NodeData::Text { ref contents } = child.data { return Some(contents.borrow().to_string()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/parser/mod.rs:87:68 [INFO] [stderr] | [INFO] [stderr] 87 | .and_then(|s| DateTime::parse_from_rfc2822(&s.trim()).ok().or( [INFO] [stderr] | ____________________________________________________________________^ [INFO] [stderr] 88 | | DateTime::parse_from_rfc3339(&s.trim()).ok() [INFO] [stderr] 89 | | )).map(|n| n.naive_utc()) [INFO] [stderr] | |_________^ help: try this: `or_else(|| DateTime::parse_from_rfc3339(&s.trim()).ok())` [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] Finished dev [unoptimized + debuginfo] target(s) in 17.82s [INFO] running `"docker" "inspect" "1aa38e2c178c15ffa3786ef2d0a02bf009250eb5b0739cccd9604a36f1250623"` [INFO] running `"docker" "rm" "-f" "1aa38e2c178c15ffa3786ef2d0a02bf009250eb5b0739cccd9604a36f1250623"` [INFO] [stdout] 1aa38e2c178c15ffa3786ef2d0a02bf009250eb5b0739cccd9604a36f1250623