[INFO] cloning repository https://github.com/Sieger9303/extract_comment [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sieger9303/extract_comment" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSieger9303%2Fextract_comment", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSieger9303%2Fextract_comment'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 13363dd1bf12f0632f66f8d9b7d5cab0095b8dd8 [INFO] testing Sieger9303/extract_comment against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSieger9303%2Fextract_comment" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Sieger9303/extract_comment [INFO] finished tweaking git repo https://github.com/Sieger9303/extract_comment [INFO] tweaked toml for git repo https://github.com/Sieger9303/extract_comment written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Sieger9303/extract_comment on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Sieger9303/extract_comment 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f5336ed2902395598b62b432ae459df14da1ac36790b85a709c438624ab41aba [INFO] running `Command { std: "docker" "start" "-a" "f5336ed2902395598b62b432ae459df14da1ac36790b85a709c438624ab41aba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5336ed2902395598b62b432ae459df14da1ac36790b85a709c438624ab41aba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5336ed2902395598b62b432ae459df14da1ac36790b85a709c438624ab41aba", kill_on_drop: false }` [INFO] [stdout] f5336ed2902395598b62b432ae459df14da1ac36790b85a709c438624ab41aba [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 896face9eb3d37ed90244bc27e8d6d2473fc550ade045405045761e2e6e8306a [INFO] running `Command { std: "docker" "start" "-a" "896face9eb3d37ed90244bc27e8d6d2473fc550ade045405045761e2e6e8306a", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling adler2 v2.0.0 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling miniz_oxide v0.8.8 [INFO] [stderr] Compiling flate2 v1.1.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling filetime v0.2.25 [INFO] [stderr] Compiling xattr v1.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tar v0.4.44 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling extract_comment v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fs::ReadDir` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::ReadDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnwindSafe` [INFO] [stdout] --> src/main.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | use std::panic::{catch_unwind, UnwindSafe}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::token::Impl` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use syn::token::Impl; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::ForeignItemMacro` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use syn::ForeignItemMacro; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::ImplItemMacro` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use syn::ImplItemMacro; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::TraitItemMacro` [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use syn::TraitItemMacro; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `walkdir::WalkDir` [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use walkdir::WalkDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context` and `Result` [INFO] [stdout] --> src/main.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 168 - if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] 168 + if pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:183:24 [INFO] [stdout] | [INFO] [stdout] 183 | if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 183 - if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] 183 + if pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `commentType` should have an upper camel case name [INFO] [stdout] --> src/main.rs:248:6 [INFO] [stdout] | [INFO] [stdout] 248 | enum commentType{ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CommentType` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `doc` should have an upper camel case name [INFO] [stdout] --> src/main.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | doc, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Doc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `inline` should have an upper camel case name [INFO] [stdout] --> src/main.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | inline, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Inline` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:275:24 [INFO] [stdout] | [INFO] [stdout] 275 | if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 275 - if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] 275 + if pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:290:24 [INFO] [stdout] | [INFO] [stdout] 290 | if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 290 - if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] 290 + if pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:300:24 [INFO] [stdout] | [INFO] [stdout] 300 | if (!comments.is_empty()&&chars[pos]!=' '){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 300 - if (!comments.is_empty()&&chars[pos]!=' '){ [INFO] [stdout] 300 + if !comments.is_empty()&&chars[pos]!=' ' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/main.rs:447:21 [INFO] [stdout] | [INFO] [stdout] 447 | ///ForeignItem::Verbatim(token_stream) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 448 | _ => {}, [INFO] [stdout] | ------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:582:5 [INFO] [stdout] | [INFO] [stdout] 582 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:670:12 [INFO] [stdout] | [INFO] [stdout] 670 | if (extract_index<33348){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 670 - if (extract_index<33348){ [INFO] [stdout] 670 + if extract_index<33348 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:727:12 [INFO] [stdout] | [INFO] [stdout] 727 | if (!function_safety.eq("Safe")){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 727 - if (!function_safety.eq("Safe")){ [INFO] [stdout] 727 + if !function_safety.eq("Safe") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:744:16 [INFO] [stdout] | [INFO] [stdout] 744 | if (!results.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 744 - if (!results.is_empty()){ [INFO] [stdout] 744 + if !results.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `i` is assigned to, but never used [INFO] [stdout] --> src/main.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let mut i=0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_i` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:206:33 [INFO] [stdout] | [INFO] [stdout] 206 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:210:33 [INFO] [stdout] | [INFO] [stdout] 210 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:316:33 [INFO] [stdout] | [INFO] [stdout] 316 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:320:33 [INFO] [stdout] | [INFO] [stdout] 320 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `impl_item_const` [INFO] [stdout] --> src/main.rs:456:42 [INFO] [stdout] | [INFO] [stdout] 456 | syn::ImplItem::Const(impl_item_const) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_const` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `impl_item_type` [INFO] [stdout] --> src/main.rs:466:41 [INFO] [stdout] | [INFO] [stdout] 466 | syn::ImplItem::Type(impl_item_type) => {}, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `impl_item_macro` [INFO] [stdout] --> src/main.rs:467:42 [INFO] [stdout] | [INFO] [stdout] 467 | syn::ImplItem::Macro(impl_item_macro) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_macro` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_stream` [INFO] [stdout] --> src/main.rs:475:45 [INFO] [stdout] | [INFO] [stdout] 475 | syn::ImplItem::Verbatim(token_stream) => {}, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trait_item_const` [INFO] [stdout] --> src/main.rs:526:43 [INFO] [stdout] | [INFO] [stdout] 526 | syn::TraitItem::Const(trait_item_const) =>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_const` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trait_item_type` [INFO] [stdout] --> src/main.rs:538:42 [INFO] [stdout] | [INFO] [stdout] 538 | syn::TraitItem::Type(trait_item_type) => {}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trait_item_macro` [INFO] [stdout] --> src/main.rs:539:43 [INFO] [stdout] | [INFO] [stdout] 539 | syn::TraitItem::Macro(trait_item_macro) => {}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_macro` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_stream` [INFO] [stdout] --> src/main.rs:540:46 [INFO] [stdout] | [INFO] [stdout] 540 | syn::TraitItem::Verbatim(token_stream) => {}, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_crate_file_count` [INFO] [stdout] --> src/main.rs:817:29 [INFO] [stdout] | [INFO] [stdout] 817 | let mut target_crate_file_count=0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_crate_file_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/main.rs:918:13 [INFO] [stdout] | [INFO] [stdout] 918 | let ast: File = match catch_unwind(|| syn::parse_str::(&source)) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `extracted_start_line` is never read [INFO] [stdout] --> src/main.rs:1013:17 [INFO] [stdout] | [INFO] [stdout] 1013 | let mut extracted_start_line:usize=0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `extracted_end_line` is never read [INFO] [stdout] --> src/main.rs:1014:17 [INFO] [stdout] | [INFO] [stdout] 1014 | let mut extracted_end_line:usize=0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fn_name` [INFO] [stdout] --> src/main.rs:1016:14 [INFO] [stdout] | [INFO] [stdout] 1016 | let (fn_name, doc_comments) = if let Some(func) = find_function_by_start_line(&ast, start_line) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:689:17 [INFO] [stdout] | [INFO] [stdout] 689 | let mut iter = rel_file_p.iter() [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:817:25 [INFO] [stdout] | [INFO] [stdout] 817 | let mut target_crate_file_count=0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_foreign_function` is never used [INFO] [stdout] --> src/main.rs:378:4 [INFO] [stdout] | [INFO] [stdout] 378 | fn find_foreign_function (item:&ForeignItem,target_line: usize)-> Option{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Root` is never constructed [INFO] [stdout] --> src/main.rs:585:8 [INFO] [stdout] | [INFO] [stdout] 585 | struct Root { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrateEntry` is never constructed [INFO] [stdout] --> src/main.rs:592:8 [INFO] [stdout] | [INFO] [stdout] 592 | struct CrateEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Package` is never constructed [INFO] [stdout] --> src/main.rs:599:8 [INFO] [stdout] | [INFO] [stdout] 599 | struct Package { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `commentStack` should have a snake case name [INFO] [stdout] --> src/main.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut commentStack = Vec::new(); // 块注释嵌套计数器 [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_stack` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `commentStack` should have a snake case name [INFO] [stdout] --> src/main.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | let mut commentStack = Vec::new(); // 块注释嵌套计数器 [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.73s [INFO] running `Command { std: "docker" "inspect" "896face9eb3d37ed90244bc27e8d6d2473fc550ade045405045761e2e6e8306a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "896face9eb3d37ed90244bc27e8d6d2473fc550ade045405045761e2e6e8306a", kill_on_drop: false }` [INFO] [stdout] 896face9eb3d37ed90244bc27e8d6d2473fc550ade045405045761e2e6e8306a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bc862cb37ee4deae591b67bbd660ef75dbd21212014c7ba324e7980d85e841da [INFO] running `Command { std: "docker" "start" "-a" "bc862cb37ee4deae591b67bbd660ef75dbd21212014c7ba324e7980d85e841da", kill_on_drop: false }` [INFO] [stderr] Compiling extract_comment v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fs::ReadDir` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::ReadDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnwindSafe` [INFO] [stdout] --> src/main.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | use std::panic::{catch_unwind, UnwindSafe}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::token::Impl` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use syn::token::Impl; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::ForeignItemMacro` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use syn::ForeignItemMacro; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::ImplItemMacro` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use syn::ImplItemMacro; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::TraitItemMacro` [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use syn::TraitItemMacro; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `walkdir::WalkDir` [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use walkdir::WalkDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context` and `Result` [INFO] [stdout] --> src/main.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 168 - if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] 168 + if pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:183:24 [INFO] [stdout] | [INFO] [stdout] 183 | if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 183 - if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] 183 + if pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `commentType` should have an upper camel case name [INFO] [stdout] --> src/main.rs:248:6 [INFO] [stdout] | [INFO] [stdout] 248 | enum commentType{ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CommentType` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `doc` should have an upper camel case name [INFO] [stdout] --> src/main.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | doc, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Doc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `inline` should have an upper camel case name [INFO] [stdout] --> src/main.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | inline, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Inline` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:275:24 [INFO] [stdout] | [INFO] [stdout] 275 | if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 275 - if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stdout] 275 + if pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:290:24 [INFO] [stdout] | [INFO] [stdout] 290 | if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 290 - if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stdout] 290 + if pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!' [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:300:24 [INFO] [stdout] | [INFO] [stdout] 300 | if (!comments.is_empty()&&chars[pos]!=' '){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 300 - if (!comments.is_empty()&&chars[pos]!=' '){ [INFO] [stdout] 300 + if !comments.is_empty()&&chars[pos]!=' ' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/main.rs:447:21 [INFO] [stdout] | [INFO] [stdout] 447 | ///ForeignItem::Verbatim(token_stream) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 448 | _ => {}, [INFO] [stdout] | ------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:582:5 [INFO] [stdout] | [INFO] [stdout] 582 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:670:12 [INFO] [stdout] | [INFO] [stdout] 670 | if (extract_index<33348){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 670 - if (extract_index<33348){ [INFO] [stdout] 670 + if extract_index<33348 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:727:12 [INFO] [stdout] | [INFO] [stdout] 727 | if (!function_safety.eq("Safe")){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 727 - if (!function_safety.eq("Safe")){ [INFO] [stdout] 727 + if !function_safety.eq("Safe") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:744:16 [INFO] [stdout] | [INFO] [stdout] 744 | if (!results.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 744 - if (!results.is_empty()){ [INFO] [stdout] 744 + if !results.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `i` is assigned to, but never used [INFO] [stdout] --> src/main.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let mut i=0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_i` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:206:33 [INFO] [stdout] | [INFO] [stdout] 206 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:210:33 [INFO] [stdout] | [INFO] [stdout] 210 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:316:33 [INFO] [stdout] | [INFO] [stdout] 316 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment_pop` [INFO] [stdout] --> src/main.rs:320:33 [INFO] [stdout] | [INFO] [stdout] 320 | ... let comment_pop=commentStack.pop(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `impl_item_const` [INFO] [stdout] --> src/main.rs:456:42 [INFO] [stdout] | [INFO] [stdout] 456 | syn::ImplItem::Const(impl_item_const) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_const` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `impl_item_type` [INFO] [stdout] --> src/main.rs:466:41 [INFO] [stdout] | [INFO] [stdout] 466 | syn::ImplItem::Type(impl_item_type) => {}, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `impl_item_macro` [INFO] [stdout] --> src/main.rs:467:42 [INFO] [stdout] | [INFO] [stdout] 467 | syn::ImplItem::Macro(impl_item_macro) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_macro` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_stream` [INFO] [stdout] --> src/main.rs:475:45 [INFO] [stdout] | [INFO] [stdout] 475 | syn::ImplItem::Verbatim(token_stream) => {}, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trait_item_const` [INFO] [stdout] --> src/main.rs:526:43 [INFO] [stdout] | [INFO] [stdout] 526 | syn::TraitItem::Const(trait_item_const) =>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_const` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trait_item_type` [INFO] [stdout] --> src/main.rs:538:42 [INFO] [stdout] | [INFO] [stdout] 538 | syn::TraitItem::Type(trait_item_type) => {}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trait_item_macro` [INFO] [stdout] --> src/main.rs:539:43 [INFO] [stdout] | [INFO] [stdout] 539 | syn::TraitItem::Macro(trait_item_macro) => {}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_macro` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_stream` [INFO] [stdout] --> src/main.rs:540:46 [INFO] [stdout] | [INFO] [stdout] 540 | syn::TraitItem::Verbatim(token_stream) => {}, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_crate_file_count` [INFO] [stdout] --> src/main.rs:817:29 [INFO] [stdout] | [INFO] [stdout] 817 | let mut target_crate_file_count=0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_crate_file_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/main.rs:918:13 [INFO] [stdout] | [INFO] [stdout] 918 | let ast: File = match catch_unwind(|| syn::parse_str::(&source)) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `extracted_start_line` is never read [INFO] [stdout] --> src/main.rs:1013:17 [INFO] [stdout] | [INFO] [stdout] 1013 | let mut extracted_start_line:usize=0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `extracted_end_line` is never read [INFO] [stdout] --> src/main.rs:1014:17 [INFO] [stdout] | [INFO] [stdout] 1014 | let mut extracted_end_line:usize=0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fn_name` [INFO] [stdout] --> src/main.rs:1016:14 [INFO] [stdout] | [INFO] [stdout] 1016 | let (fn_name, doc_comments) = if let Some(func) = find_function_by_start_line(&ast, start_line) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:689:17 [INFO] [stdout] | [INFO] [stdout] 689 | let mut iter = rel_file_p.iter() [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:817:25 [INFO] [stdout] | [INFO] [stdout] 817 | let mut target_crate_file_count=0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_foreign_function` is never used [INFO] [stdout] --> src/main.rs:378:4 [INFO] [stdout] | [INFO] [stdout] 378 | fn find_foreign_function (item:&ForeignItem,target_line: usize)-> Option{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Root` is never constructed [INFO] [stdout] --> src/main.rs:585:8 [INFO] [stdout] | [INFO] [stdout] 585 | struct Root { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrateEntry` is never constructed [INFO] [stdout] --> src/main.rs:592:8 [INFO] [stdout] | [INFO] [stdout] 592 | struct CrateEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Package` is never constructed [INFO] [stdout] --> src/main.rs:599:8 [INFO] [stdout] | [INFO] [stdout] 599 | struct Package { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `commentStack` should have a snake case name [INFO] [stdout] --> src/main.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut commentStack = Vec::new(); // 块注释嵌套计数器 [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_stack` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `commentStack` should have a snake case name [INFO] [stdout] --> src/main.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | let mut commentStack = Vec::new(); // 块注释嵌套计数器 [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s [INFO] running `Command { std: "docker" "inspect" "bc862cb37ee4deae591b67bbd660ef75dbd21212014c7ba324e7980d85e841da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc862cb37ee4deae591b67bbd660ef75dbd21212014c7ba324e7980d85e841da", kill_on_drop: false }` [INFO] [stdout] bc862cb37ee4deae591b67bbd660ef75dbd21212014c7ba324e7980d85e841da [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 89dbec3bc71ff12bc99443bcd448909768c7405e9d3f9b93f26b573c908cefcd [INFO] running `Command { std: "docker" "start" "-a" "89dbec3bc71ff12bc99443bcd448909768c7405e9d3f9b93f26b573c908cefcd", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::fs::ReadDir` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::fs::ReadDir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `UnwindSafe` [INFO] [stderr] --> src/main.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | use std::panic::{catch_unwind, UnwindSafe}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `syn::token::Impl` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use syn::token::Impl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `syn::ForeignItemMacro` [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use syn::ForeignItemMacro; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `syn::ImplItemMacro` [INFO] [stderr] --> src/main.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use syn::ImplItemMacro; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `syn::TraitItemMacro` [INFO] [stderr] --> src/main.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | use syn::TraitItemMacro; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `walkdir::WalkDir` [INFO] [stderr] --> src/main.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | use walkdir::WalkDir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Context` and `Result` [INFO] [stderr] --> src/main.rs:36:14 [INFO] [stderr] | [INFO] [stderr] 36 | use anyhow::{Context, Result}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:168:24 [INFO] [stderr] | [INFO] [stderr] 168 | if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 168 - if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stderr] 168 + if pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!' [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:183:24 [INFO] [stderr] | [INFO] [stderr] 183 | if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 183 - if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stderr] 183 + if pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!' [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: type `commentType` should have an upper camel case name [INFO] [stderr] --> src/main.rs:248:6 [INFO] [stderr] | [INFO] [stderr] 248 | enum commentType{ [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CommentType` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variant `doc` should have an upper camel case name [INFO] [stderr] --> src/main.rs:249:5 [INFO] [stderr] | [INFO] [stderr] 249 | doc, [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case: `Doc` [INFO] [stderr] [INFO] [stderr] warning: variant `inline` should have an upper camel case name [INFO] [stderr] --> src/main.rs:250:5 [INFO] [stderr] | [INFO] [stderr] 250 | inline, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Inline` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:275:24 [INFO] [stderr] | [INFO] [stderr] 275 | if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 275 - if (pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!') [INFO] [stderr] 275 + if pos + 2 < chars.len()&& chars[pos+2]!='/' && chars[pos+2]!='!' [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:290:24 [INFO] [stderr] | [INFO] [stderr] 290 | if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 290 - if (pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!') [INFO] [stderr] 290 + if pos + 2 < chars.len()&&chars[pos+1]!='*'&&chars[pos+2]!='!' [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:300:24 [INFO] [stderr] | [INFO] [stderr] 300 | if (!comments.is_empty()&&chars[pos]!=' '){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 300 - if (!comments.is_empty()&&chars[pos]!=' '){ [INFO] [stderr] 300 + if !comments.is_empty()&&chars[pos]!=' ' { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/main.rs:447:21 [INFO] [stderr] | [INFO] [stderr] 447 | ///ForeignItem::Verbatim(token_stream) => todo!(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 448 | _ => {}, [INFO] [stderr] | ------- rustdoc does not generate documentation for match arms [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:582:5 [INFO] [stderr] | [INFO] [stderr] 582 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:670:12 [INFO] [stderr] | [INFO] [stderr] 670 | if (extract_index<33348){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 670 - if (extract_index<33348){ [INFO] [stderr] 670 + if extract_index<33348 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:727:12 [INFO] [stderr] | [INFO] [stderr] 727 | if (!function_safety.eq("Safe")){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 727 - if (!function_safety.eq("Safe")){ [INFO] [stderr] 727 + if !function_safety.eq("Safe") { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:744:16 [INFO] [stderr] | [INFO] [stderr] 744 | if (!results.is_empty()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 744 - if (!results.is_empty()){ [INFO] [stderr] 744 + if !results.is_empty() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable `i` is assigned to, but never used [INFO] [stderr] --> src/main.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | let mut i=0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_i` instead [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comment_pop` [INFO] [stderr] --> src/main.rs:206:33 [INFO] [stderr] | [INFO] [stderr] 206 | ... let comment_pop=commentStack.pop(); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comment_pop` [INFO] [stderr] --> src/main.rs:210:33 [INFO] [stderr] | [INFO] [stderr] 210 | ... let comment_pop=commentStack.pop(); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comment_pop` [INFO] [stderr] --> src/main.rs:316:33 [INFO] [stderr] | [INFO] [stderr] 316 | ... let comment_pop=commentStack.pop(); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comment_pop` [INFO] [stderr] --> src/main.rs:320:33 [INFO] [stderr] | [INFO] [stderr] 320 | ... let comment_pop=commentStack.pop(); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment_pop` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `impl_item_const` [INFO] [stderr] --> src/main.rs:456:42 [INFO] [stderr] | [INFO] [stderr] 456 | syn::ImplItem::Const(impl_item_const) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_const` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `impl_item_type` [INFO] [stderr] --> src/main.rs:466:41 [INFO] [stderr] | [INFO] [stderr] 466 | syn::ImplItem::Type(impl_item_type) => {}, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `impl_item_macro` [INFO] [stderr] --> src/main.rs:467:42 [INFO] [stderr] | [INFO] [stderr] 467 | syn::ImplItem::Macro(impl_item_macro) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_impl_item_macro` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `token_stream` [INFO] [stderr] --> src/main.rs:475:45 [INFO] [stderr] | [INFO] [stderr] 475 | syn::ImplItem::Verbatim(token_stream) => {}, [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_stream` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `trait_item_const` [INFO] [stderr] --> src/main.rs:526:43 [INFO] [stderr] | [INFO] [stderr] 526 | syn::TraitItem::Const(trait_item_const) =>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_const` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `trait_item_type` [INFO] [stderr] --> src/main.rs:538:42 [INFO] [stderr] | [INFO] [stderr] 538 | syn::TraitItem::Type(trait_item_type) => {}, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `trait_item_macro` [INFO] [stderr] --> src/main.rs:539:43 [INFO] [stderr] | [INFO] [stderr] 539 | syn::TraitItem::Macro(trait_item_macro) => {}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_item_macro` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `token_stream` [INFO] [stderr] --> src/main.rs:540:46 [INFO] [stderr] | [INFO] [stderr] 540 | syn::TraitItem::Verbatim(token_stream) => {}, [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_stream` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target_crate_file_count` [INFO] [stderr] --> src/main.rs:817:29 [INFO] [stderr] | [INFO] [stderr] 817 | let mut target_crate_file_count=0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_crate_file_count` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/main.rs:918:13 [INFO] [stderr] | [INFO] [stderr] 918 | let ast: File = match catch_unwind(|| syn::parse_str::(&source)) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ast` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `extracted_start_line` is never read [INFO] [stderr] --> src/main.rs:1013:17 [INFO] [stderr] | [INFO] [stderr] 1013 | let mut extracted_start_line:usize=0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `extracted_end_line` is never read [INFO] [stderr] --> src/main.rs:1014:17 [INFO] [stderr] | [INFO] [stderr] 1014 | let mut extracted_end_line:usize=0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fn_name` [INFO] [stderr] --> src/main.rs:1016:14 [INFO] [stderr] | [INFO] [stderr] 1016 | let (fn_name, doc_comments) = if let Some(func) = find_function_by_start_line(&ast, start_line) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_name` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:689:17 [INFO] [stderr] | [INFO] [stderr] 689 | let mut iter = rel_file_p.iter() [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:817:25 [INFO] [stderr] | [INFO] [stderr] 817 | let mut target_crate_file_count=0; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function `find_foreign_function` is never used [INFO] [stderr] --> src/main.rs:378:4 [INFO] [stderr] | [INFO] [stderr] 378 | fn find_foreign_function (item:&ForeignItem,target_line: usize)-> Option{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: struct `Root` is never constructed [INFO] [stderr] --> src/main.rs:585:8 [INFO] [stderr] | [INFO] [stderr] 585 | struct Root { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CrateEntry` is never constructed [INFO] [stderr] --> src/main.rs:592:8 [INFO] [stderr] | [INFO] [stderr] 592 | struct CrateEntry { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Package` is never constructed [INFO] [stderr] --> src/main.rs:599:8 [INFO] [stderr] | [INFO] [stderr] 599 | struct Package { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `commentStack` should have a snake case name [INFO] [stderr] --> src/main.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | let mut commentStack = Vec::new(); // 块注释嵌套计数器 [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_stack` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable `commentStack` should have a snake case name [INFO] [stderr] --> src/main.rs:258:13 [INFO] [stderr] | [INFO] [stderr] 258 | let mut commentStack = Vec::new(); // 块注释嵌套计数器 [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_stack` [INFO] [stderr] [INFO] [stderr] warning: `extract_comment` (bin "extract_comment" test) generated 47 warnings (run `cargo fix --bin "extract_comment" --tests` to apply 19 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/extract_comment-5d412319aa3367f5) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "89dbec3bc71ff12bc99443bcd448909768c7405e9d3f9b93f26b573c908cefcd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89dbec3bc71ff12bc99443bcd448909768c7405e9d3f9b93f26b573c908cefcd", kill_on_drop: false }` [INFO] [stdout] 89dbec3bc71ff12bc99443bcd448909768c7405e9d3f9b93f26b573c908cefcd