[INFO] cloning repository https://github.com/psengrith/erd_rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/psengrith/erd_rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpsengrith%2Ferd_rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpsengrith%2Ferd_rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ca97584273ab113187936b5d9d809a5900efafa9 [INFO] linting psengrith/erd_rs against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpsengrith%2Ferd_rs" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/psengrith/erd_rs [INFO] finished tweaking git repo https://github.com/psengrith/erd_rs [INFO] tweaked toml for git repo https://github.com/psengrith/erd_rs written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/psengrith/erd_rs 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/psengrith/erd_rs 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] Downloading crates ... [INFO] [stderr] Downloaded clap_derive v4.5.24 [INFO] [stderr] Downloaded clap v4.5.27 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] d97e00c03ece263499ef0f2d745c50a48298e600789957375ed0b6525007ae08 [INFO] running `Command { std: "docker" "start" "-a" "d97e00c03ece263499ef0f2d745c50a48298e600789957375ed0b6525007ae08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d97e00c03ece263499ef0f2d745c50a48298e600789957375ed0b6525007ae08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d97e00c03ece263499ef0f2d745c50a48298e600789957375ed0b6525007ae08", kill_on_drop: false }` [INFO] [stdout] d97e00c03ece263499ef0f2d745c50a48298e600789957375ed0b6525007ae08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 1d03a85531d956ae908f7d99c427c8511100ed96033712a607cc1aa358d3b8f3 [INFO] running `Command { std: "docker" "start" "-a" "1d03a85531d956ae908f7d99c427c8511100ed96033712a607cc1aa358d3b8f3", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking unicode-ident v1.0.16 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Checking log v0.4.25 [INFO] [stderr] Compiling anyhow v1.0.95 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking clap_builder v4.5.27 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking quote v1.0.38 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling clap_derive v4.5.24 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking clap v4.5.27 [INFO] [stderr] Checking erd_rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/main.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | output.push(args.output.to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `&args.output` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/main.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | output.push(args.output.to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `&args.output` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/main.rs:87:22 [INFO] [stdout] | [INFO] [stdout] 87 | .current_dir(dir.to_owned()) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use: `&dir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/main.rs:87:22 [INFO] [stdout] | [INFO] [stdout] 87 | .current_dir(dir.to_owned()) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use: `&dir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:155:39 [INFO] [stdout] | [INFO] [stdout] 155 | syn::Item::Impl(iimpl) => match iimpl.self_ty.as_ref() { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 156 | | Type::Path(ty) => { [INFO] [stdout] 157 | | let clazz = ty.path.segments.last().unwrap().ident.to_string(); [INFO] [stdout] 158 | | let mut m = methods_map.get_mut(&clazz); [INFO] [stdout] ... | [INFO] [stdout] 166 | | _ => {} [INFO] [stdout] 167 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 155 ~ syn::Item::Impl(iimpl) => if let Type::Path(ty) = iimpl.self_ty.as_ref() { [INFO] [stdout] 156 + let clazz = ty.path.segments.last().unwrap().ident.to_string(); [INFO] [stdout] 157 + let mut m = methods_map.get_mut(&clazz); [INFO] [stdout] 158 + if m.is_none() { [INFO] [stdout] 159 + methods_map.insert(clazz.to_owned(), vec![]); [INFO] [stdout] 160 + m = methods_map.get_mut(&clazz); [INFO] [stdout] 161 + } [INFO] [stdout] 162 + let clazz_vis = clazz_map.get(&clazz).map(|v| v.0).unwrap_or_default(); [INFO] [stdout] 163 + m.unwrap().extend(parse_impl(iimpl, clazz, clazz_vis, fmt)?); [INFO] [stdout] 164 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:155:39 [INFO] [stdout] | [INFO] [stdout] 155 | syn::Item::Impl(iimpl) => match iimpl.self_ty.as_ref() { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 156 | | Type::Path(ty) => { [INFO] [stdout] 157 | | let clazz = ty.path.segments.last().unwrap().ident.to_string(); [INFO] [stdout] 158 | | let mut m = methods_map.get_mut(&clazz); [INFO] [stdout] ... | [INFO] [stdout] 166 | | _ => {} [INFO] [stdout] 167 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 155 ~ syn::Item::Impl(iimpl) => if let Type::Path(ty) = iimpl.self_ty.as_ref() { [INFO] [stdout] 156 + let clazz = ty.path.segments.last().unwrap().ident.to_string(); [INFO] [stdout] 157 + let mut m = methods_map.get_mut(&clazz); [INFO] [stdout] 158 + if m.is_none() { [INFO] [stdout] 159 + methods_map.insert(clazz.to_owned(), vec![]); [INFO] [stdout] 160 + m = methods_map.get_mut(&clazz); [INFO] [stdout] 161 + } [INFO] [stdout] 162 + let clazz_vis = clazz_map.get(&clazz).map(|v| v.0).unwrap_or_default(); [INFO] [stdout] 163 + m.unwrap().extend(parse_impl(iimpl, clazz, clazz_vis, fmt)?); [INFO] [stdout] 164 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | / match impl_item { [INFO] [stdout] 289 | | ImplItem::Fn(impl_item) => { [INFO] [stdout] 290 | | let (_, vis) = parse_vis(&impl_item.vis, fmt, default_vis); [INFO] [stdout] 291 | | let method = impl_item.sig.ident.to_string(); [INFO] [stdout] ... | [INFO] [stdout] 325 | | _ => {} [INFO] [stdout] 326 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 288 ~ if let ImplItem::Fn(impl_item) = impl_item { [INFO] [stdout] 289 + let (_, vis) = parse_vis(&impl_item.vis, fmt, default_vis); [INFO] [stdout] 290 + let method = impl_item.sig.ident.to_string(); [INFO] [stdout] 291 + let inputs = impl_item [INFO] [stdout] 292 + .sig [INFO] [stdout] 293 + .inputs [INFO] [stdout] 294 + .iter() [INFO] [stdout] 295 + .filter_map(|i| match i { [INFO] [stdout] 296 + syn::FnArg::Typed(p_ty) => { [INFO] [stdout] 297 + let path = match p_ty.pat.as_ref() { [INFO] [stdout] 298 + Pat::Ident(p) => Some(p.ident.to_string()), [INFO] [stdout] 299 + _ => None, [INFO] [stdout] 300 + }; [INFO] [stdout] 301 + let ty = match p_ty.ty.as_ref() { [INFO] [stdout] 302 + Type::Path(p) => { [INFO] [stdout] 303 + Some(p.path.segments.last().unwrap().ident.to_string()) [INFO] [stdout] 304 + } [INFO] [stdout] 305 + _ => None, [INFO] [stdout] 306 + }; [INFO] [stdout] 307 + [INFO] [stdout] 308 + if !path.is_some() && !ty.is_some() { [INFO] [stdout] 309 + warn!("Failed to parse inputs of fn {method}"); [INFO] [stdout] 310 + None [INFO] [stdout] 311 + } else { [INFO] [stdout] 312 + Some((path.unwrap(), ty.unwrap())) [INFO] [stdout] 313 + } [INFO] [stdout] 314 + } [INFO] [stdout] 315 + _ => None, [INFO] [stdout] 316 + }) [INFO] [stdout] 317 + .collect::>(); [INFO] [stdout] 318 + let output = match impl_item.sig.output { [INFO] [stdout] 319 + ReturnType::Default => "".to_string(), [INFO] [stdout] 320 + ReturnType::Type(_, ty) => parse_return_type(ty.as_ref(), &clazz)?, [INFO] [stdout] 321 + }; [INFO] [stdout] 322 + markdown.push(fmt.format_fn(clazz.to_owned(), vis, method, inputs, output)); [INFO] [stdout] 323 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:309:32 [INFO] [stdout] | [INFO] [stdout] 309 | ... if !path.is_some() && !ty.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `path.is_none()` [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:309:51 [INFO] [stdout] | [INFO] [stdout] 309 | ... if !path.is_some() && !ty.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `ty.is_none()` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | / match impl_item { [INFO] [stdout] 289 | | ImplItem::Fn(impl_item) => { [INFO] [stdout] 290 | | let (_, vis) = parse_vis(&impl_item.vis, fmt, default_vis); [INFO] [stdout] 291 | | let method = impl_item.sig.ident.to_string(); [INFO] [stdout] ... | [INFO] [stdout] 325 | | _ => {} [INFO] [stdout] 326 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 288 ~ if let ImplItem::Fn(impl_item) = impl_item { [INFO] [stdout] 289 + let (_, vis) = parse_vis(&impl_item.vis, fmt, default_vis); [INFO] [stdout] 290 + let method = impl_item.sig.ident.to_string(); [INFO] [stdout] 291 + let inputs = impl_item [INFO] [stdout] 292 + .sig [INFO] [stdout] 293 + .inputs [INFO] [stdout] 294 + .iter() [INFO] [stdout] 295 + .filter_map(|i| match i { [INFO] [stdout] 296 + syn::FnArg::Typed(p_ty) => { [INFO] [stdout] 297 + let path = match p_ty.pat.as_ref() { [INFO] [stdout] 298 + Pat::Ident(p) => Some(p.ident.to_string()), [INFO] [stdout] 299 + _ => None, [INFO] [stdout] 300 + }; [INFO] [stdout] 301 + let ty = match p_ty.ty.as_ref() { [INFO] [stdout] 302 + Type::Path(p) => { [INFO] [stdout] 303 + Some(p.path.segments.last().unwrap().ident.to_string()) [INFO] [stdout] 304 + } [INFO] [stdout] 305 + _ => None, [INFO] [stdout] 306 + }; [INFO] [stdout] 307 + [INFO] [stdout] 308 + if !path.is_some() && !ty.is_some() { [INFO] [stdout] 309 + warn!("Failed to parse inputs of fn {method}"); [INFO] [stdout] 310 + None [INFO] [stdout] 311 + } else { [INFO] [stdout] 312 + Some((path.unwrap(), ty.unwrap())) [INFO] [stdout] 313 + } [INFO] [stdout] 314 + } [INFO] [stdout] 315 + _ => None, [INFO] [stdout] 316 + }) [INFO] [stdout] 317 + .collect::>(); [INFO] [stdout] 318 + let output = match impl_item.sig.output { [INFO] [stdout] 319 + ReturnType::Default => "".to_string(), [INFO] [stdout] 320 + ReturnType::Type(_, ty) => parse_return_type(ty.as_ref(), &clazz)?, [INFO] [stdout] 321 + }; [INFO] [stdout] 322 + markdown.push(fmt.format_fn(clazz.to_owned(), vis, method, inputs, output)); [INFO] [stdout] 323 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:309:32 [INFO] [stdout] | [INFO] [stdout] 309 | ... if !path.is_some() && !ty.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `path.is_none()` [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:309:51 [INFO] [stdout] | [INFO] [stdout] 309 | ... if !path.is_some() && !ty.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `ty.is_none()` [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: this `if` has identical blocks [INFO] [stdout] --> src/main.rs:352:37 [INFO] [stdout] | [INFO] [stdout] 352 | if ty.const_token.is_some() { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 353 | | Ok(format!( [INFO] [stdout] 354 | | "*const {}", [INFO] [stdout] 355 | | parse_return_type(&ty.elem, self_clazz)? [INFO] [stdout] 356 | | )) [INFO] [stdout] 357 | | } else if ty.mutability.is_some() { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/main.rs:357:43 [INFO] [stdout] | [INFO] [stdout] 357 | } else if ty.mutability.is_some() { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 358 | | Ok(format!( [INFO] [stdout] 359 | | "*const {}", [INFO] [stdout] 360 | | parse_return_type(&ty.elem, self_clazz)? [INFO] [stdout] 361 | | )) [INFO] [stdout] 362 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/main.rs:352:37 [INFO] [stdout] | [INFO] [stdout] 352 | if ty.const_token.is_some() { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 353 | | Ok(format!( [INFO] [stdout] 354 | | "*const {}", [INFO] [stdout] 355 | | parse_return_type(&ty.elem, self_clazz)? [INFO] [stdout] 356 | | )) [INFO] [stdout] 357 | | } else if ty.mutability.is_some() { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/main.rs:357:43 [INFO] [stdout] | [INFO] [stdout] 357 | } else if ty.mutability.is_some() { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 358 | | Ok(format!( [INFO] [stdout] 359 | | "*const {}", [INFO] [stdout] 360 | | parse_return_type(&ty.elem, self_clazz)? [INFO] [stdout] 361 | | )) [INFO] [stdout] 362 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:373:22 [INFO] [stdout] | [INFO] [stdout] 373 | n.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:373:22 [INFO] [stdout] | [INFO] [stdout] 373 | n.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` 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:381:47 [INFO] [stdout] | [INFO] [stdout] 381 | .map(|r_ty| r_ty.as_str().replace("Self", &self_clazz)) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `self_clazz` [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:381:47 [INFO] [stdout] | [INFO] [stdout] 381 | .map(|r_ty| r_ty.as_str().replace("Self", &self_clazz)) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `self_clazz` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.13s [INFO] running `Command { std: "docker" "inspect" "1d03a85531d956ae908f7d99c427c8511100ed96033712a607cc1aa358d3b8f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d03a85531d956ae908f7d99c427c8511100ed96033712a607cc1aa358d3b8f3", kill_on_drop: false }` [INFO] [stdout] 1d03a85531d956ae908f7d99c427c8511100ed96033712a607cc1aa358d3b8f3