[INFO] cloning repository https://github.com/zweifisch/haystack [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zweifisch/haystack" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzweifisch%2Fhaystack", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzweifisch%2Fhaystack'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2d2bca2b75d3391fc0b1fccae950db8352c74442 [INFO] linting zweifisch/haystack against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzweifisch%2Fhaystack" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/zweifisch/haystack [INFO] finished tweaking git repo https://github.com/zweifisch/haystack [INFO] tweaked toml for git repo https://github.com/zweifisch/haystack written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/zweifisch/haystack on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/zweifisch/haystack already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unicode-ident v1.0.18 [INFO] [stderr] Downloaded winapi-util v0.1.10 [INFO] [stderr] Downloaded chunked_transfer v1.5.0 [INFO] [stderr] Downloaded tiny_http v0.12.0 [INFO] [stderr] Downloaded indextree-macros v0.1.3 [INFO] [stderr] Downloaded jetscii v0.5.3 [INFO] [stderr] Downloaded time-macros v0.2.22 [INFO] [stderr] Downloaded serde_indextree v0.2.0 [INFO] [stderr] Downloaded anyhow v1.0.99 [INFO] [stderr] Downloaded orgize v0.9.0 [INFO] [stderr] Downloaded memchr v2.7.5 [INFO] [stderr] Downloaded cc v1.2.34 [INFO] [stderr] Downloaded indexmap v2.11.0 [INFO] [stderr] Downloaded time v0.3.41 [INFO] [stderr] Downloaded pulldown-cmark v0.13.0 [INFO] [stderr] Downloaded clap_builder v4.5.46 [INFO] [stderr] Downloaded serde_json v1.0.143 [INFO] [stderr] Downloaded regex v1.11.2 [INFO] [stderr] Downloaded plist v1.7.4 [INFO] [stderr] Downloaded bitflags v2.9.3 [INFO] [stderr] Downloaded serde_derive v1.0.219 [INFO] [stderr] Downloaded serde v1.0.219 [INFO] [stderr] Downloaded clap_derive v4.5.45 [INFO] [stderr] Downloaded clap v4.5.46 [INFO] [stderr] Downloaded indextree v4.7.4 [INFO] [stderr] Downloaded deranged v0.4.0 [INFO] [stderr] Downloaded ascii v1.1.0 [INFO] [stderr] Downloaded log v0.4.27 [INFO] [stderr] Downloaded pulldown-cmark-escape v0.11.0 [INFO] [stderr] Downloaded time-core v0.1.4 [INFO] [stderr] Downloaded regex-automata v0.4.10 [INFO] [stderr] Downloaded libc v0.2.175 [INFO] [stderr] Downloaded syntect v5.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7aff8d36fbe90faaff38b131dfeeb0014a62351680cfcd42530f86d45113fb50 [INFO] running `Command { std: "docker" "start" "-a" "7aff8d36fbe90faaff38b131dfeeb0014a62351680cfcd42530f86d45113fb50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7aff8d36fbe90faaff38b131dfeeb0014a62351680cfcd42530f86d45113fb50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7aff8d36fbe90faaff38b131dfeeb0014a62351680cfcd42530f86d45113fb50", kill_on_drop: false }` [INFO] [stdout] 7aff8d36fbe90faaff38b131dfeeb0014a62351680cfcd42530f86d45113fb50 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 43cbbaa26baa5d258e152a6908b8c8cce18b65a40ba4f230ed985422f04370f9 [INFO] running `Command { std: "docker" "start" "-a" "43cbbaa26baa5d258e152a6908b8c8cce18b65a40ba4f230ed985422f04370f9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking deranged v0.4.0 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Compiling jetscii v0.5.3 [INFO] [stderr] Checking bitflags v2.9.3 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking time-core v0.1.4 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking crc32fast v1.5.0 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking indexmap v2.11.0 [INFO] [stderr] Checking quick-xml v0.38.3 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling onig_sys v69.9.1 [INFO] [stderr] Compiling pulldown-cmark v0.13.0 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking clap_builder v4.5.46 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking getopts v0.2.24 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Checking chunked_transfer v1.5.0 [INFO] [stderr] Checking bytecount v0.6.9 [INFO] [stderr] Checking pulldown-cmark-escape v0.11.0 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking tiny_http v0.12.0 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Checking onig v6.5.1 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling indextree-macros v0.1.3 [INFO] [stderr] Checking clap v4.5.46 [INFO] [stderr] Checking indextree v4.7.4 [INFO] [stderr] Checking plist v1.7.4 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde_indextree v0.2.0 [INFO] [stderr] Checking orgize v0.9.0 [INFO] [stderr] Checking syntect v5.2.0 [INFO] [stderr] Checking haystack v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:168:88 [INFO] [stdout] | [INFO] [stdout] 168 | let html = convert_file_with_lang(path, theme, &build_page_ctx(&base_src, &rel_root, rel, cfg))?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `base_src` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:168:99 [INFO] [stdout] | [INFO] [stdout] 168 | let html = convert_file_with_lang(path, theme, &build_page_ctx(&base_src, &rel_root, rel, cfg))?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `rel_root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/main.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | doc_paths.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 184 - doc_paths.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] 184 + doc_paths.sort_by_key(|a| a.to_string_lossy().to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:344:38 [INFO] [stdout] | [INFO] [stdout] 344 | fn convert_markdown_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 344 - fn convert_markdown_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] 344 + fn convert_markdown_to_html_with_ctx(input: &str, theme: &ThemeConfig, ctx: Option<&PageLangCtx>) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:391:33 [INFO] [stdout] | [INFO] [stdout] 391 | fn convert_org_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 391 - fn convert_org_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] 391 + fn convert_org_to_html_with_ctx(input: &str, theme: &ThemeConfig, ctx: Option<&PageLangCtx>) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/main.rs:448:9 [INFO] [stdout] | [INFO] [stdout] 448 | files.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 448 - files.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] 448 + files.sort_by_key(|a| a.to_string_lossy().to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/main.rs:715:5 [INFO] [stdout] | [INFO] [stdout] 715 | / match fs::read_to_string(&path) { [INFO] [stdout] 716 | | Ok(s) => Some(s), [INFO] [stdout] 717 | | Err(_) => None, [INFO] [stdout] 718 | | } [INFO] [stdout] | |_____^ help: replace with: `fs::read_to_string(&path).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:725:78 [INFO] [stdout] | [INFO] [stdout] 725 | fn collect_docs_under(root: &Path, _ignore: Option<()>, exclude_first_level: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 725 - fn collect_docs_under(root: &Path, _ignore: Option<()>, exclude_first_level: &Vec) -> Vec { [INFO] [stdout] 725 + fn collect_docs_under(root: &Path, _ignore: Option<()>, exclude_first_level: &[String]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/main.rs:743:5 [INFO] [stdout] | [INFO] [stdout] 743 | docs.sort_by(|a,b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 743 - docs.sort_by(|a,b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] 743 + docs.sort_by_key(|a| a.to_string_lossy().to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/main.rs:1120:48 [INFO] [stdout] | [INFO] [stdout] 1120 | static SYNTAX_SET: Lazy = Lazy::new(|| SyntaxSet::load_defaults_newlines()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `SyntaxSet::load_defaults_newlines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:1125:12 [INFO] [stdout] | [INFO] [stdout] 1125 | if !light_name.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `light_name.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:1136:12 [INFO] [stdout] | [INFO] [stdout] 1136 | if !dark_name.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `dark_name.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_unstable_by_key` [INFO] [stdout] --> src/main.rs:1220:5 [INFO] [stdout] | [INFO] [stdout] 1220 | names.sort_unstable_by(|a, b| a.to_ascii_lowercase().cmp(&b.to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1220 - names.sort_unstable_by(|a, b| a.to_ascii_lowercase().cmp(&b.to_ascii_lowercase())); [INFO] [stdout] 1220 + names.sort_unstable_by_key(|a| a.to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:168:88 [INFO] [stdout] | [INFO] [stdout] 168 | let html = convert_file_with_lang(path, theme, &build_page_ctx(&base_src, &rel_root, rel, cfg))?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `base_src` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:168:99 [INFO] [stdout] | [INFO] [stdout] 168 | let html = convert_file_with_lang(path, theme, &build_page_ctx(&base_src, &rel_root, rel, cfg))?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `rel_root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/main.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | doc_paths.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 184 - doc_paths.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] 184 + doc_paths.sort_by_key(|a| a.to_string_lossy().to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:344:38 [INFO] [stdout] | [INFO] [stdout] 344 | fn convert_markdown_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 344 - fn convert_markdown_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] 344 + fn convert_markdown_to_html_with_ctx(input: &str, theme: &ThemeConfig, ctx: Option<&PageLangCtx>) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:391:33 [INFO] [stdout] | [INFO] [stdout] 391 | fn convert_org_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 391 - fn convert_org_to_html_with_ctx<'a>(input: &str, theme: &ThemeConfig, ctx: Option<&'a PageLangCtx>) -> String { [INFO] [stdout] 391 + fn convert_org_to_html_with_ctx(input: &str, theme: &ThemeConfig, ctx: Option<&PageLangCtx>) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/main.rs:448:9 [INFO] [stdout] | [INFO] [stdout] 448 | files.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 448 - files.sort_by(|a, b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] 448 + files.sort_by_key(|a| a.to_string_lossy().to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/main.rs:715:5 [INFO] [stdout] | [INFO] [stdout] 715 | / match fs::read_to_string(&path) { [INFO] [stdout] 716 | | Ok(s) => Some(s), [INFO] [stdout] 717 | | Err(_) => None, [INFO] [stdout] 718 | | } [INFO] [stdout] | |_____^ help: replace with: `fs::read_to_string(&path).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:725:78 [INFO] [stdout] | [INFO] [stdout] 725 | fn collect_docs_under(root: &Path, _ignore: Option<()>, exclude_first_level: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 725 - fn collect_docs_under(root: &Path, _ignore: Option<()>, exclude_first_level: &Vec) -> Vec { [INFO] [stdout] 725 + fn collect_docs_under(root: &Path, _ignore: Option<()>, exclude_first_level: &[String]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/main.rs:743:5 [INFO] [stdout] | [INFO] [stdout] 743 | docs.sort_by(|a,b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 743 - docs.sort_by(|a,b| a.to_string_lossy().to_ascii_lowercase().cmp(&b.to_string_lossy().to_ascii_lowercase())); [INFO] [stdout] 743 + docs.sort_by_key(|a| a.to_string_lossy().to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/main.rs:1120:48 [INFO] [stdout] | [INFO] [stdout] 1120 | static SYNTAX_SET: Lazy = Lazy::new(|| SyntaxSet::load_defaults_newlines()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `SyntaxSet::load_defaults_newlines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:1125:12 [INFO] [stdout] | [INFO] [stdout] 1125 | if !light_name.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `light_name.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:1136:12 [INFO] [stdout] | [INFO] [stdout] 1136 | if !dark_name.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `dark_name.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_unstable_by_key` [INFO] [stdout] --> src/main.rs:1220:5 [INFO] [stdout] | [INFO] [stdout] 1220 | names.sort_unstable_by(|a, b| a.to_ascii_lowercase().cmp(&b.to_ascii_lowercase())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1220 - names.sort_unstable_by(|a, b| a.to_ascii_lowercase().cmp(&b.to_ascii_lowercase())); [INFO] [stdout] 1220 + names.sort_unstable_by_key(|a| a.to_ascii_lowercase()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.55s [INFO] running `Command { std: "docker" "inspect" "43cbbaa26baa5d258e152a6908b8c8cce18b65a40ba4f230ed985422f04370f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "43cbbaa26baa5d258e152a6908b8c8cce18b65a40ba4f230ed985422f04370f9", kill_on_drop: false }` [INFO] [stdout] 43cbbaa26baa5d258e152a6908b8c8cce18b65a40ba4f230ed985422f04370f9