[INFO] cloning repository https://github.com/dhcdht/rs_hpp_bridge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dhcdht/rs_hpp_bridge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdhcdht%2Frs_hpp_bridge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdhcdht%2Frs_hpp_bridge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 40608f9c4bb5deda78132c552a308ba19d0492db
[INFO] testing dhcdht/rs_hpp_bridge against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdhcdht%2Frs_hpp_bridge" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dhcdht/rs_hpp_bridge
[INFO] finished tweaking git repo https://github.com/dhcdht/rs_hpp_bridge
[INFO] tweaked toml for git repo https://github.com/dhcdht/rs_hpp_bridge written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dhcdht/rs_hpp_bridge on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dhcdht/rs_hpp_bridge 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap v4.5.29
[INFO] [stderr]   Downloaded clap_derive v4.5.28
[INFO] [stderr]   Downloaded clang v2.0.0
[INFO] [stderr]   Downloaded clap_builder v4.5.29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a9950bad687f26dda9414dfc264ea1f54b4a4777f866db8ad083362a0bb84cea
[INFO] running `Command { std: "docker" "start" "-a" "a9950bad687f26dda9414dfc264ea1f54b4a4777f866db8ad083362a0bb84cea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9950bad687f26dda9414dfc264ea1f54b4a4777f866db8ad083362a0bb84cea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9950bad687f26dda9414dfc264ea1f54b4a4777f866db8ad083362a0bb84cea", kill_on_drop: false }`
[INFO] [stdout] a9950bad687f26dda9414dfc264ea1f54b4a4777f866db8ad083362a0bb84cea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 28e9ee8616191c6a646dc53f9f514bcd8b437b3a6adcb6990e2a3a38d7df0233
[INFO] running `Command { std: "docker" "start" "-a" "28e9ee8616191c6a646dc53f9f514bcd8b437b3a6adcb6990e2a3a38d7df0233", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling clap_lex v0.7.4
[INFO] [stderr]    Compiling rs_hpp_bridge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling clap_builder v4.5.29
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling clang v2.0.0
[INFO] [stderr]    Compiling clap_derive v4.5.28
[INFO] [stderr]    Compiling clap v4.5.29
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_context.rs:152:28
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         if (method.method_type == MethodType::Constructor) {
[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] 152 -                         if (method.method_type == MethodType::Constructor) {
[INFO] [stdout] 152 +                         if method.method_type == MethodType::Constructor  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_context.rs:183:28
[INFO] [stdout]     |
[INFO] [stdout] 183 |                         if (method.method_type == MethodType::Destructor) {
[INFO] [stdout]     |                            ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 183 -                         if (method.method_type == MethodType::Destructor) {
[INFO] [stdout] 183 +                         if method.method_type == MethodType::Destructor  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/gen_context.rs:1062:12
[INFO] [stdout]      |
[INFO] [stdout] 1062 |         if (self.value_type.is_none()) {
[INFO] [stdout]      |            ^                         ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1062 -         if (self.value_type.is_none()) {
[INFO] [stdout] 1062 +         if self.value_type.is_none()  {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/gen_context.rs:1074:12
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         if (self.key_type.is_none()) {
[INFO] [stdout]      |            ^                       ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1074 -         if (self.key_type.is_none()) {
[INFO] [stdout] 1074 +         if self.key_type.is_none()  {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 113 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:177:16
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 177 -             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 177 +             if method.return_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:203:21
[INFO] [stdout]     |
[INFO] [stdout] 203 |             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout]     |                     ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout] 203 +             else if method.return_type.type_kind == TypeKind::StdMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:229:21
[INFO] [stdout]     |
[INFO] [stdout] 229 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout]     |                     ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 229 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout] 229 +             else if method.return_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout]     |                     ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 255 -             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout] 255 +             else if method.return_type.type_kind == TypeKind::StdSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout]     |                     ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 281 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout] 281 +             else if method.return_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:307:20
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                    ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 307 -                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 307 +                 if param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:333:25
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout]     |                         ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 333 -                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout] 333 +                 else if param.field_type.type_kind == TypeKind::StdMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:359:25
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout]     |                         ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 359 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout] 359 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:385:25
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout]     |                         ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 385 -                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout] 385 +                 else if param.field_type.type_kind == TypeKind::StdSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:411:25
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout]     |                         ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 411 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout] 411 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:629:12
[INFO] [stdout]     |
[INFO] [stdout] 629 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 629 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 629 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:692:12
[INFO] [stdout]     |
[INFO] [stdout] 692 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 692 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 |         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |            ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stdout] 357 +         if param.field_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:363:17
[INFO] [stdout]     |
[INFO] [stdout] 363 |         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                 ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 363 -         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 363 +         else if param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:558:16
[INFO] [stdout]     |
[INFO] [stdout] 558 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 558 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 558 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:602:16
[INFO] [stdout]     |
[INFO] [stdout] 602 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 602 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 602 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:610:16
[INFO] [stdout]     |
[INFO] [stdout] 610 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 610 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 610 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:842:13
[INFO] [stdout]     |
[INFO] [stdout] 842 |     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 842 -     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stdout] 842 +     else if return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:971:13
[INFO] [stdout]     |
[INFO] [stdout] 971 |     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 971 -     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stdout] 971 +     else if field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:979:13
[INFO] [stdout]     |
[INFO] [stdout] 979 |     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 979 -     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stdout] 979 +     else if field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:983:13
[INFO] [stdout]     |
[INFO] [stdout] 983 |     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 983 -     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stdout] 983 +     else if field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:987:13
[INFO] [stdout]     |
[INFO] [stdout] 987 |     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 987 -     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stdout] 987 +     else if field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:991:13
[INFO] [stdout]     |
[INFO] [stdout] 991 |     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 991 -     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stdout] 991 +     else if field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:362:16
[INFO] [stdout]     |
[INFO] [stdout] 362 |             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stdout]     |                ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 362 -             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stdout] 362 +             if method.return_type.type_kind == TypeKind::Class  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                    ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stdout] 378 +                 if method.return_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:389:16
[INFO] [stdout]     |
[INFO] [stdout] 389 |             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stdout]     |                ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 389 -             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stdout] 389 +             if class.unwrap().class_type == ClassType::StdPtr  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:594:8
[INFO] [stdout]     |
[INFO] [stdout] 594 |     if (method.method_type != MethodType::Normal) {
[INFO] [stdout]     |        ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 594 -     if (method.method_type != MethodType::Normal) {
[INFO] [stdout] 594 +     if method.method_type != MethodType::Normal  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:604:5
[INFO] [stdout]     |
[INFO] [stdout] 604 |     /// native函数指针类型的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 605 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[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 doc comment
[INFO] [stdout]    --> src/gen_dart.rs:606:5
[INFO] [stdout]     |
[INFO] [stdout] 606 |     /// 注册函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 607 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stdout]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:608:5
[INFO] [stdout]     |
[INFO] [stdout] 608 |     /// 实现函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 609 |     let dart_callback_fun_name = format!("_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ---------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:753:5
[INFO] [stdout]     |
[INFO] [stdout] 753 |     /// native函数指针类型的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 754 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:755:5
[INFO] [stdout]     |
[INFO] [stdout] 755 |     /// 注册函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 756 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stdout]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:757:5
[INFO] [stdout]     |
[INFO] [stdout] 757 |     /// 参数列表
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 758 |     let params_str = get_str_native_api_params_decl(class, method);
[INFO] [stdout]     |     --------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pointee`
[INFO] [stdout]     --> src/gen_context.rs:1037:29
[INFO] [stdout]      |
[INFO] [stdout] 1037 |                 if let Some(pointee) = clang_type.unwrap().get_pointee_type() {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointee`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 569 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 170 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 175 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 438 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 569 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/parser.rs:611:27
[INFO] [stdout]     |
[INFO] [stdout] 611 |         HppElement::Class(class) => {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_c.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let mut c_class_callback_impl = format!("{}
[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: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 182 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:206:31
[INFO] [stdout]     |
[INFO] [stdout] 206 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:229:31
[INFO] [stdout]     |
[INFO] [stdout] 229 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ffi_class_name`
[INFO] [stdout]    --> src/gen_c.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let ffi_class_name = format!("FFI_{}", class.unwrap().type_str);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ffi_class_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 616 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |         TypeKind::Void | TypeKind::Int64 | TypeKind::Float | TypeKind::Double | TypeKind::Char | TypeKind::Bool => {
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 531 |         TypeKind::String => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 534 |         TypeKind::Class => {
[INFO] [stdout]     |         --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 545 |         TypeKind::StdPtr => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 616 |         _ => {
[INFO] [stdout]     |         ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 641 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 691 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 699 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 706 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]    --> src/gen_c.rs:719:33
[INFO] [stdout]     |
[INFO] [stdout] 719 |     let is_static = if let Some(cls) = class {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 881 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 869 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 872 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 875 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 881 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]    --> src/gen_c.rs:888:58
[INFO] [stdout]     |
[INFO] [stdout] 888 | fn get_str_decl_class_name<'a>(class: Option<&'a Class>, method: &Method) -> &'a str {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout]  48 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  97 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 183 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 190 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 202 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_dart.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let mut class_footer = format!("}}\n\n");
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 237 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 246 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 259 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 271 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_dart.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let mut file_header = format!("
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_context`
[INFO] [stdout]    --> src/gen_dart.rs:278:41
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn gen_dart_fun_for_regist_callback<'a>(gen_context: &GenContext, hpp_element: &'a HppElement, gen_out_dir: &str, dart_gen_context: Optio...
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_out_dir`
[INFO] [stdout]    --> src/gen_dart.rs:278:96
[INFO] [stdout]     |
[INFO] [stdout] 278 | ...lement: &'a HppElement, gen_out_dir: &str, dart_gen_context: Option<&mut DartGenContext<'a>>, init_str: &mut String) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_out_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dart_file`
[INFO] [stdout]    --> src/gen_dart.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |             let dart_file = local_dart_gen_context.cur_file.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dart_fun_impl`
[INFO] [stdout]    --> src/gen_dart.rs:284:34
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let (local_init_str, dart_fun_impl) = get_dart_fun_for_regist_callback(local_dart_gen_context.cur_class, method);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_fun_impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         MethodType::Normal | MethodType::Destructor => {
[INFO] [stdout]     |         ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 316 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 319 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 529 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 514 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 518 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 525 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 529 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_is_callback`
[INFO] [stdout]    --> src/gen_dart.rs:497:26
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let (cur_class_name, class_is_callback) = if let Some(cur_class) = class {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_is_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/gen_dart.rs:540:33
[INFO] [stdout]     |
[INFO] [stdout] 540 | fn get_str_dart_fun_params_decl(class: Option<&Class>, method: &Method) -> String {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exception_value_str`
[INFO] [stdout]    --> src/gen_dart.rs:615:9
[INFO] [stdout]     |
[INFO] [stdout] 615 |     let exception_value_str = if exception_default_value_str.is_empty() {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exception_value_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/gen_dart.rs:652:53
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn get_str_dart_fun_params_impl_for_regist_callback(class: Option<&Class>, method: &Method) -> String {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:831:13
[INFO] [stdout]     |
[INFO] [stdout] 831 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:831:13
[INFO] [stdout]     |
[INFO] [stdout] 789 |             TypeKind::Void => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 792 |             TypeKind::Int64 => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 795 |             TypeKind::Float => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 798 |             TypeKind::Double => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 831 |             _ => {
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:941:13
[INFO] [stdout]     |
[INFO] [stdout] 941 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:941:13
[INFO] [stdout]     |
[INFO] [stdout] 899 |             TypeKind::Void => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 902 |             TypeKind::Int64 => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 905 |             TypeKind::Float => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 908 |             TypeKind::Double => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 941 |             _ => {
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `gen_context` is never read
[INFO] [stdout]   --> src/gen_c.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct CFileContext<'a> {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub gen_context: &'a GenContext,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CFileContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fs::remove_dir_all(gen_out_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let _ = fs::remove_dir_all(gen_out_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fs::create_dir_all(gen_out_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = fs::create_dir_all(gen_out_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_ClassDecl` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn handle_clang_ClassDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_class_decl`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Constructor` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:575:4
[INFO] [stdout]     |
[INFO] [stdout] 575 | fn handle_clang_Constructor(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `handle_clang_constructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Destructor` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:609:4
[INFO] [stdout]     |
[INFO] [stdout] 609 | fn handle_clang_Destructor(out_hpp_element: &mut HppElement, entity: &clang::Entity,) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_destructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Method` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:627:4
[INFO] [stdout]     |
[INFO] [stdout] 627 | fn handle_clang_Method(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_ParmDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:675:4
[INFO] [stdout]     |
[INFO] [stdout] 675 | fn handle_clang_ParmDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_parm_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_FieldDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn handle_clang_FieldDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_field_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_FunctionDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn handle_clang_FunctionDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_function_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_c.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     ch_file.write_all(ch_str.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _ = ch_file.write_all(ch_str.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_c.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     cc_file.write_all(cc_str.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let _ = cc_file.write_all(cc_str.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/gen_dart.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     public_file.write_all(public_file_str.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let _ = public_file.write_all(public_file_str.as_bytes());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/gen_dart.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |             dart_file.write(file_header.as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let _ = dart_file.write(file_header.as_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             dart_file_header.write(class_header.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let _ = dart_file_header.write(class_header.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 dart_file_header.write(callback_header.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let _ = dart_file_header.write(callback_header.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             dart_file_footer.write(class_footer.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let _ = dart_file_footer.write(class_footer.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let _ = dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             dart_file.write(method_impl.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 188 |             let _ = dart_file.write(method_impl.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |             dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let _ = dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |             ffiapi_file.write(file_header.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let _ = ffiapi_file.write(file_header.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 let _ = ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let _ = ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |             ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 |             let _ = ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.83s
[INFO] running `Command { std: "docker" "inspect" "28e9ee8616191c6a646dc53f9f514bcd8b437b3a6adcb6990e2a3a38d7df0233", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28e9ee8616191c6a646dc53f9f514bcd8b437b3a6adcb6990e2a3a38d7df0233", kill_on_drop: false }`
[INFO] [stdout] 28e9ee8616191c6a646dc53f9f514bcd8b437b3a6adcb6990e2a3a38d7df0233
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d45d9585e4f84499a4de400c9d3beb770d7c90d97c1d5b7d12b4d9644c80421a
[INFO] running `Command { std: "docker" "start" "-a" "d45d9585e4f84499a4de400c9d3beb770d7c90d97c1d5b7d12b4d9644c80421a", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_context.rs:152:28
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         if (method.method_type == MethodType::Constructor) {
[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] 152 -                         if (method.method_type == MethodType::Constructor) {
[INFO] [stdout] 152 +                         if method.method_type == MethodType::Constructor  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_context.rs:183:28
[INFO] [stdout]     |
[INFO] [stdout] 183 |                         if (method.method_type == MethodType::Destructor) {
[INFO] [stdout]     |                            ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 183 -                         if (method.method_type == MethodType::Destructor) {
[INFO] [stdout] 183 +                         if method.method_type == MethodType::Destructor  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/gen_context.rs:1062:12
[INFO] [stdout]      |
[INFO] [stdout] 1062 |         if (self.value_type.is_none()) {
[INFO] [stdout]      |            ^                         ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1062 -         if (self.value_type.is_none()) {
[INFO] [stdout] 1062 +         if self.value_type.is_none()  {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/gen_context.rs:1074:12
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         if (self.key_type.is_none()) {
[INFO] [stdout]      |            ^                       ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1074 -         if (self.key_type.is_none()) {
[INFO] [stdout] 1074 +         if self.key_type.is_none()  {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 113 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:177:16
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 177 -             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 177 +             if method.return_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:203:21
[INFO] [stdout]     |
[INFO] [stdout] 203 |             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout]     |                     ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout] 203 +             else if method.return_type.type_kind == TypeKind::StdMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:229:21
[INFO] [stdout]     |
[INFO] [stdout] 229 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout]     |                     ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 229 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout] 229 +             else if method.return_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout]     |                     ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 255 -             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout] 255 +             else if method.return_type.type_kind == TypeKind::StdSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout]     |                     ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 281 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout] 281 +             else if method.return_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:307:20
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                    ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 307 -                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 307 +                 if param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:333:25
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout]     |                         ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 333 -                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout] 333 +                 else if param.field_type.type_kind == TypeKind::StdMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:359:25
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout]     |                         ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 359 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout] 359 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:385:25
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout]     |                         ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 385 -                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout] 385 +                 else if param.field_type.type_kind == TypeKind::StdSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:411:25
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout]     |                         ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 411 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout] 411 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:629:12
[INFO] [stdout]     |
[INFO] [stdout] 629 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 629 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 629 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:692:12
[INFO] [stdout]     |
[INFO] [stdout] 692 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 692 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 |         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |            ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stdout] 357 +         if param.field_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:363:17
[INFO] [stdout]     |
[INFO] [stdout] 363 |         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                 ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 363 -         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 363 +         else if param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:558:16
[INFO] [stdout]     |
[INFO] [stdout] 558 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 558 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 558 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:602:16
[INFO] [stdout]     |
[INFO] [stdout] 602 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 602 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 602 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:610:16
[INFO] [stdout]     |
[INFO] [stdout] 610 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 610 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 610 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:842:13
[INFO] [stdout]     |
[INFO] [stdout] 842 |     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 842 -     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stdout] 842 +     else if return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:971:13
[INFO] [stdout]     |
[INFO] [stdout] 971 |     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 971 -     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stdout] 971 +     else if field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:979:13
[INFO] [stdout]     |
[INFO] [stdout] 979 |     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 979 -     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stdout] 979 +     else if field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:983:13
[INFO] [stdout]     |
[INFO] [stdout] 983 |     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 983 -     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stdout] 983 +     else if field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:987:13
[INFO] [stdout]     |
[INFO] [stdout] 987 |     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 987 -     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stdout] 987 +     else if field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:991:13
[INFO] [stdout]     |
[INFO] [stdout] 991 |     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 991 -     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stdout] 991 +     else if field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:362:16
[INFO] [stdout]     |
[INFO] [stdout] 362 |             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stdout]     |                ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 362 -             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stdout] 362 +             if method.return_type.type_kind == TypeKind::Class  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                    ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stdout] 378 +                 if method.return_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:389:16
[INFO] [stdout]     |
[INFO] [stdout] 389 |             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stdout]     |                ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 389 -             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stdout] 389 +             if class.unwrap().class_type == ClassType::StdPtr  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:594:8
[INFO] [stdout]     |
[INFO] [stdout] 594 |     if (method.method_type != MethodType::Normal) {
[INFO] [stdout]     |        ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 594 -     if (method.method_type != MethodType::Normal) {
[INFO] [stdout] 594 +     if method.method_type != MethodType::Normal  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:604:5
[INFO] [stdout]     |
[INFO] [stdout] 604 |     /// native函数指针类型的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 605 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[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 doc comment
[INFO] [stdout]    --> src/gen_dart.rs:606:5
[INFO] [stdout]     |
[INFO] [stdout] 606 |     /// 注册函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 607 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stdout]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:608:5
[INFO] [stdout]     |
[INFO] [stdout] 608 |     /// 实现函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 609 |     let dart_callback_fun_name = format!("_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ---------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:753:5
[INFO] [stdout]     |
[INFO] [stdout] 753 |     /// native函数指针类型的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 754 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:755:5
[INFO] [stdout]     |
[INFO] [stdout] 755 |     /// 注册函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 756 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stdout]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:757:5
[INFO] [stdout]     |
[INFO] [stdout] 757 |     /// 参数列表
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 758 |     let params_str = get_str_native_api_params_decl(class, method);
[INFO] [stdout]     |     --------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pointee`
[INFO] [stdout]     --> src/gen_context.rs:1037:29
[INFO] [stdout]      |
[INFO] [stdout] 1037 |                 if let Some(pointee) = clang_type.unwrap().get_pointee_type() {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointee`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 569 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 170 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 175 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 438 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 569 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/parser.rs:611:27
[INFO] [stdout]     |
[INFO] [stdout] 611 |         HppElement::Class(class) => {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_c.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let mut c_class_callback_impl = format!("{}
[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: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 182 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:206:31
[INFO] [stdout]     |
[INFO] [stdout] 206 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:229:31
[INFO] [stdout]     |
[INFO] [stdout] 229 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ffi_class_name`
[INFO] [stdout]    --> src/gen_c.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let ffi_class_name = format!("FFI_{}", class.unwrap().type_str);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ffi_class_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 616 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |         TypeKind::Void | TypeKind::Int64 | TypeKind::Float | TypeKind::Double | TypeKind::Char | TypeKind::Bool => {
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 531 |         TypeKind::String => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 534 |         TypeKind::Class => {
[INFO] [stdout]     |         --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 545 |         TypeKind::StdPtr => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 616 |         _ => {
[INFO] [stdout]     |         ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 641 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 691 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 699 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 706 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]    --> src/gen_c.rs:719:33
[INFO] [stdout]     |
[INFO] [stdout] 719 |     let is_static = if let Some(cls) = class {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 881 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 869 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 872 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 875 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 881 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]    --> src/gen_c.rs:888:58
[INFO] [stdout]     |
[INFO] [stdout] 888 | fn get_str_decl_class_name<'a>(class: Option<&'a Class>, method: &Method) -> &'a str {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout]  48 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  97 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 183 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 190 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 202 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_dart.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let mut class_footer = format!("}}\n\n");
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 237 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 246 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 259 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 271 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_dart.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let mut file_header = format!("
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_context`
[INFO] [stdout]    --> src/gen_dart.rs:278:41
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn gen_dart_fun_for_regist_callback<'a>(gen_context: &GenContext, hpp_element: &'a HppElement, gen_out_dir: &str, dart_gen_context: Optio...
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_out_dir`
[INFO] [stdout]    --> src/gen_dart.rs:278:96
[INFO] [stdout]     |
[INFO] [stdout] 278 | ...lement: &'a HppElement, gen_out_dir: &str, dart_gen_context: Option<&mut DartGenContext<'a>>, init_str: &mut String) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_out_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dart_file`
[INFO] [stdout]    --> src/gen_dart.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |             let dart_file = local_dart_gen_context.cur_file.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dart_fun_impl`
[INFO] [stdout]    --> src/gen_dart.rs:284:34
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let (local_init_str, dart_fun_impl) = get_dart_fun_for_regist_callback(local_dart_gen_context.cur_class, method);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_fun_impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         MethodType::Normal | MethodType::Destructor => {
[INFO] [stdout]     |         ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 316 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 319 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 529 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 514 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 518 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 525 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 529 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_is_callback`
[INFO] [stdout]    --> src/gen_dart.rs:497:26
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let (cur_class_name, class_is_callback) = if let Some(cur_class) = class {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_is_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/gen_dart.rs:540:33
[INFO] [stdout]     |
[INFO] [stdout] 540 | fn get_str_dart_fun_params_decl(class: Option<&Class>, method: &Method) -> String {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exception_value_str`
[INFO] [stdout]    --> src/gen_dart.rs:615:9
[INFO] [stdout]     |
[INFO] [stdout] 615 |     let exception_value_str = if exception_default_value_str.is_empty() {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exception_value_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/gen_dart.rs:652:53
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn get_str_dart_fun_params_impl_for_regist_callback(class: Option<&Class>, method: &Method) -> String {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:831:13
[INFO] [stdout]     |
[INFO] [stdout] 831 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:831:13
[INFO] [stdout]     |
[INFO] [stdout] 789 |             TypeKind::Void => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 792 |             TypeKind::Int64 => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 795 |             TypeKind::Float => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 798 |             TypeKind::Double => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 831 |             _ => {
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:941:13
[INFO] [stdout]     |
[INFO] [stdout] 941 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:941:13
[INFO] [stdout]     |
[INFO] [stdout] 899 |             TypeKind::Void => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 902 |             TypeKind::Int64 => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 905 |             TypeKind::Float => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 908 |             TypeKind::Double => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 941 |             _ => {
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `gen_context` is never read
[INFO] [stdout]   --> src/gen_c.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct CFileContext<'a> {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub gen_context: &'a GenContext,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CFileContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fs::remove_dir_all(gen_out_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let _ = fs::remove_dir_all(gen_out_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fs::create_dir_all(gen_out_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = fs::create_dir_all(gen_out_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_ClassDecl` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn handle_clang_ClassDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_class_decl`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Constructor` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:575:4
[INFO] [stdout]     |
[INFO] [stdout] 575 | fn handle_clang_Constructor(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `handle_clang_constructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Destructor` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:609:4
[INFO] [stdout]     |
[INFO] [stdout] 609 | fn handle_clang_Destructor(out_hpp_element: &mut HppElement, entity: &clang::Entity,) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_destructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Method` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:627:4
[INFO] [stdout]     |
[INFO] [stdout] 627 | fn handle_clang_Method(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_ParmDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:675:4
[INFO] [stdout]     |
[INFO] [stdout] 675 | fn handle_clang_ParmDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_parm_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_FieldDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn handle_clang_FieldDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_field_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_FunctionDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn handle_clang_FunctionDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_function_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_c.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     ch_file.write_all(ch_str.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _ = ch_file.write_all(ch_str.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_c.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     cc_file.write_all(cc_str.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let _ = cc_file.write_all(cc_str.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/gen_dart.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     public_file.write_all(public_file_str.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let _ = public_file.write_all(public_file_str.as_bytes());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/gen_dart.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |             dart_file.write(file_header.as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let _ = dart_file.write(file_header.as_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             dart_file_header.write(class_header.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let _ = dart_file_header.write(class_header.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 dart_file_header.write(callback_header.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let _ = dart_file_header.write(callback_header.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             dart_file_footer.write(class_footer.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let _ = dart_file_footer.write(class_footer.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let _ = dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             dart_file.write(method_impl.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 188 |             let _ = dart_file.write(method_impl.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |             dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let _ = dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |             ffiapi_file.write(file_header.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let _ = ffiapi_file.write(file_header.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rs_hpp_bridge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 let _ = ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let _ = ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |             ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 |             let _ = ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_context.rs:152:28
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         if (method.method_type == MethodType::Constructor) {
[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] 152 -                         if (method.method_type == MethodType::Constructor) {
[INFO] [stdout] 152 +                         if method.method_type == MethodType::Constructor  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_context.rs:183:28
[INFO] [stdout]     |
[INFO] [stdout] 183 |                         if (method.method_type == MethodType::Destructor) {
[INFO] [stdout]     |                            ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 183 -                         if (method.method_type == MethodType::Destructor) {
[INFO] [stdout] 183 +                         if method.method_type == MethodType::Destructor  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/gen_context.rs:1062:12
[INFO] [stdout]      |
[INFO] [stdout] 1062 |         if (self.value_type.is_none()) {
[INFO] [stdout]      |            ^                         ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1062 -         if (self.value_type.is_none()) {
[INFO] [stdout] 1062 +         if self.value_type.is_none()  {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/gen_context.rs:1074:12
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         if (self.key_type.is_none()) {
[INFO] [stdout]      |            ^                       ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1074 -         if (self.key_type.is_none()) {
[INFO] [stdout] 1074 +         if self.key_type.is_none()  {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 113 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:177:16
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 177 -             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 177 +             if method.return_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:203:21
[INFO] [stdout]     |
[INFO] [stdout] 203 |             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout]     |                     ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout] 203 +             else if method.return_type.type_kind == TypeKind::StdMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:229:21
[INFO] [stdout]     |
[INFO] [stdout] 229 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout]     |                     ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 229 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout] 229 +             else if method.return_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout]     |                     ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 255 -             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout] 255 +             else if method.return_type.type_kind == TypeKind::StdSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout]     |                     ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 281 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout] 281 +             else if method.return_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:307:20
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                    ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 307 -                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 307 +                 if param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:333:25
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout]     |                         ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 333 -                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stdout] 333 +                 else if param.field_type.type_kind == TypeKind::StdMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:359:25
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout]     |                         ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 359 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stdout] 359 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:385:25
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout]     |                         ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 385 -                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stdout] 385 +                 else if param.field_type.type_kind == TypeKind::StdSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:411:25
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout]     |                         ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 411 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stdout] 411 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:629:12
[INFO] [stdout]     |
[INFO] [stdout] 629 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 629 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 629 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:692:12
[INFO] [stdout]     |
[INFO] [stdout] 692 |         if (access != clang::Accessibility::Public) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         if (access != clang::Accessibility::Public) {
[INFO] [stdout] 692 +         if access != clang::Accessibility::Public  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 |         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |            ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stdout] 357 +         if param.field_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:363:17
[INFO] [stdout]     |
[INFO] [stdout] 363 |         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout]     |                 ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 363 -         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stdout] 363 +         else if param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:558:16
[INFO] [stdout]     |
[INFO] [stdout] 558 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 558 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 558 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:602:16
[INFO] [stdout]     |
[INFO] [stdout] 602 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 602 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 602 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:610:16
[INFO] [stdout]     |
[INFO] [stdout] 610 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 610 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stdout] 610 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:842:13
[INFO] [stdout]     |
[INFO] [stdout] 842 |     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 842 -     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stdout] 842 +     else if return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:971:13
[INFO] [stdout]     |
[INFO] [stdout] 971 |     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 971 -     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stdout] 971 +     else if field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:979:13
[INFO] [stdout]     |
[INFO] [stdout] 979 |     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 979 -     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stdout] 979 +     else if field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:983:13
[INFO] [stdout]     |
[INFO] [stdout] 983 |     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 983 -     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stdout] 983 +     else if field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:987:13
[INFO] [stdout]     |
[INFO] [stdout] 987 |     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 987 -     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stdout] 987 +     else if field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_c.rs:991:13
[INFO] [stdout]     |
[INFO] [stdout] 991 |     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stdout]     |             ^                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 991 -     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stdout] 991 +     else if field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:362:16
[INFO] [stdout]     |
[INFO] [stdout] 362 |             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stdout]     |                ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 362 -             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stdout] 362 +             if method.return_type.type_kind == TypeKind::Class  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stdout]     |                    ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stdout] 378 +                 if method.return_type.type_kind == TypeKind::String  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:389:16
[INFO] [stdout]     |
[INFO] [stdout] 389 |             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stdout]     |                ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 389 -             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stdout] 389 +             if class.unwrap().class_type == ClassType::StdPtr  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gen_dart.rs:594:8
[INFO] [stdout]     |
[INFO] [stdout] 594 |     if (method.method_type != MethodType::Normal) {
[INFO] [stdout]     |        ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 594 -     if (method.method_type != MethodType::Normal) {
[INFO] [stdout] 594 +     if method.method_type != MethodType::Normal  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:604:5
[INFO] [stdout]     |
[INFO] [stdout] 604 |     /// native函数指针类型的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 605 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[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 doc comment
[INFO] [stdout]    --> src/gen_dart.rs:606:5
[INFO] [stdout]     |
[INFO] [stdout] 606 |     /// 注册函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 607 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stdout]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:608:5
[INFO] [stdout]     |
[INFO] [stdout] 608 |     /// 实现函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 609 |     let dart_callback_fun_name = format!("_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ---------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:753:5
[INFO] [stdout]     |
[INFO] [stdout] 753 |     /// native函数指针类型的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 754 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:755:5
[INFO] [stdout]     |
[INFO] [stdout] 755 |     /// 注册函数的名字
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 756 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stdout]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/gen_dart.rs:757:5
[INFO] [stdout]     |
[INFO] [stdout] 757 |     /// 参数列表
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 758 |     let params_str = get_str_native_api_params_decl(class, method);
[INFO] [stdout]     |     --------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> tests/test_lib.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[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 variable: `pointee`
[INFO] [stdout]     --> src/gen_context.rs:1037:29
[INFO] [stdout]      |
[INFO] [stdout] 1037 |                 if let Some(pointee) = clang_type.unwrap().get_pointee_type() {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointee`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 569 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 170 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 175 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 438 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 569 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/parser.rs:611:27
[INFO] [stdout]     |
[INFO] [stdout] 611 |         HppElement::Class(class) => {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_c.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let mut c_class_callback_impl = format!("{}
[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: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 182 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:206:31
[INFO] [stdout]     |
[INFO] [stdout] 206 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/gen_c.rs:229:31
[INFO] [stdout]     |
[INFO] [stdout] 229 |             HppElement::Field(field) => {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ffi_class_name`
[INFO] [stdout]    --> src/gen_c.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let ffi_class_name = format!("FFI_{}", class.unwrap().type_str);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ffi_class_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 616 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |         TypeKind::Void | TypeKind::Int64 | TypeKind::Float | TypeKind::Double | TypeKind::Char | TypeKind::Bool => {
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 531 |         TypeKind::String => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 534 |         TypeKind::Class => {
[INFO] [stdout]     |         --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 545 |         TypeKind::StdPtr => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 616 |         _ => {
[INFO] [stdout]     |         ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 641 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 691 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 699 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 706 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]    --> src/gen_c.rs:719:33
[INFO] [stdout]     |
[INFO] [stdout] 719 |     let is_static = if let Some(cls) = class {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_c.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 881 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_c.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 869 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 872 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 875 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 881 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]    --> src/gen_c.rs:888:58
[INFO] [stdout]     |
[INFO] [stdout] 888 | fn get_str_decl_class_name<'a>(class: Option<&'a Class>, method: &Method) -> &'a str {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout]  48 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  97 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 183 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 190 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 202 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_dart.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let mut class_footer = format!("}}\n\n");
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         HppElement::File(file) => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 237 |         HppElement::Class(class) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 246 |         HppElement::Method(method) => {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 259 |         HppElement::Field(field) => {
[INFO] [stdout]     |         ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 271 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gen_dart.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let mut file_header = format!("
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_context`
[INFO] [stdout]    --> src/gen_dart.rs:278:41
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn gen_dart_fun_for_regist_callback<'a>(gen_context: &GenContext, hpp_element: &'a HppElement, gen_out_dir: &str, dart_gen_context: Optio...
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_out_dir`
[INFO] [stdout]    --> src/gen_dart.rs:278:96
[INFO] [stdout]     |
[INFO] [stdout] 278 | ...lement: &'a HppElement, gen_out_dir: &str, dart_gen_context: Option<&mut DartGenContext<'a>>, init_str: &mut String) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_out_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dart_file`
[INFO] [stdout]    --> src/gen_dart.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |             let dart_file = local_dart_gen_context.cur_file.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dart_fun_impl`
[INFO] [stdout]    --> src/gen_dart.rs:284:34
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let (local_init_str, dart_fun_impl) = get_dart_fun_for_regist_callback(local_dart_gen_context.cur_class, method);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_fun_impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         MethodType::Normal | MethodType::Destructor => {
[INFO] [stdout]     |         ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 316 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 319 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 529 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 514 |         MethodType::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 518 |         MethodType::Constructor => {
[INFO] [stdout]     |         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 525 |         MethodType::Destructor => {
[INFO] [stdout]     |         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 529 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_is_callback`
[INFO] [stdout]    --> src/gen_dart.rs:497:26
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let (cur_class_name, class_is_callback) = if let Some(cur_class) = class {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_is_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/gen_dart.rs:540:33
[INFO] [stdout]     |
[INFO] [stdout] 540 | fn get_str_dart_fun_params_decl(class: Option<&Class>, method: &Method) -> String {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exception_value_str`
[INFO] [stdout]    --> src/gen_dart.rs:615:9
[INFO] [stdout]     |
[INFO] [stdout] 615 |     let exception_value_str = if exception_default_value_str.is_empty() {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exception_value_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/gen_dart.rs:652:53
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn get_str_dart_fun_params_impl_for_regist_callback(class: Option<&Class>, method: &Method) -> String {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:831:13
[INFO] [stdout]     |
[INFO] [stdout] 831 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:831:13
[INFO] [stdout]     |
[INFO] [stdout] 789 |             TypeKind::Void => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 792 |             TypeKind::Int64 => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 795 |             TypeKind::Float => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 798 |             TypeKind::Double => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 831 |             _ => {
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gen_dart.rs:941:13
[INFO] [stdout]     |
[INFO] [stdout] 941 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/gen_dart.rs:941:13
[INFO] [stdout]     |
[INFO] [stdout] 899 |             TypeKind::Void => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 902 |             TypeKind::Int64 => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 905 |             TypeKind::Float => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 908 |             TypeKind::Double => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 941 |             _ => {
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `gen_context` is never read
[INFO] [stdout]   --> src/gen_c.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct CFileContext<'a> {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub gen_context: &'a GenContext,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CFileContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fs::remove_dir_all(gen_out_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let _ = fs::remove_dir_all(gen_out_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fs::create_dir_all(gen_out_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = fs::create_dir_all(gen_out_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_ClassDecl` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn handle_clang_ClassDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_class_decl`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Constructor` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:575:4
[INFO] [stdout]     |
[INFO] [stdout] 575 | fn handle_clang_Constructor(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `handle_clang_constructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Destructor` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:609:4
[INFO] [stdout]     |
[INFO] [stdout] 609 | fn handle_clang_Destructor(out_hpp_element: &mut HppElement, entity: &clang::Entity,) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_destructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_Method` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:627:4
[INFO] [stdout]     |
[INFO] [stdout] 627 | fn handle_clang_Method(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_ParmDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:675:4
[INFO] [stdout]     |
[INFO] [stdout] 675 | fn handle_clang_ParmDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_parm_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_FieldDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn handle_clang_FieldDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_field_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_clang_FunctionDecl` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn handle_clang_FunctionDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_function_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_c.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     ch_file.write_all(ch_str.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _ = ch_file.write_all(ch_str.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_c.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     cc_file.write_all(cc_str.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let _ = cc_file.write_all(cc_str.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/gen_dart.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     public_file.write_all(public_file_str.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let _ = public_file.write_all(public_file_str.as_bytes());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/gen_dart.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |             dart_file.write(file_header.as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let _ = dart_file.write(file_header.as_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             dart_file_header.write(class_header.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let _ = dart_file_header.write(class_header.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 dart_file_header.write(callback_header.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let _ = dart_file_header.write(callback_header.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             dart_file_footer.write(class_footer.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let _ = dart_file_footer.write(class_footer.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let _ = dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             dart_file.write(method_impl.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 188 |             let _ = dart_file.write(method_impl.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |             dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let _ = dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |             ffiapi_file.write(file_header.as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let _ = ffiapi_file.write(file_header.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 let _ = ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let _ = ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gen_dart.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |             ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 |             let _ = ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.20s
[INFO] running `Command { std: "docker" "inspect" "d45d9585e4f84499a4de400c9d3beb770d7c90d97c1d5b7d12b4d9644c80421a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d45d9585e4f84499a4de400c9d3beb770d7c90d97c1d5b7d12b4d9644c80421a", kill_on_drop: false }`
[INFO] [stdout] d45d9585e4f84499a4de400c9d3beb770d7c90d97c1d5b7d12b4d9644c80421a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 72976dd70af50ca99dcb9ed953964a549e90f36c02cc13e250eca7d91daff17c
[INFO] running `Command { std: "docker" "start" "-a" "72976dd70af50ca99dcb9ed953964a549e90f36c02cc13e250eca7d91daff17c", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_context.rs:152:28
[INFO] [stderr]     |
[INFO] [stderr] 152 |                         if (method.method_type == MethodType::Constructor) {
[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] 152 -                         if (method.method_type == MethodType::Constructor) {
[INFO] [stderr] 152 +                         if method.method_type == MethodType::Constructor  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_context.rs:183:28
[INFO] [stderr]     |
[INFO] [stderr] 183 |                         if (method.method_type == MethodType::Destructor) {
[INFO] [stderr]     |                            ^                                            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 183 -                         if (method.method_type == MethodType::Destructor) {
[INFO] [stderr] 183 +                         if method.method_type == MethodType::Destructor  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]     --> src/gen_context.rs:1062:12
[INFO] [stderr]      |
[INFO] [stderr] 1062 |         if (self.value_type.is_none()) {
[INFO] [stderr]      |            ^                         ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1062 -         if (self.value_type.is_none()) {
[INFO] [stderr] 1062 +         if self.value_type.is_none()  {
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]     --> src/gen_context.rs:1074:12
[INFO] [stderr]      |
[INFO] [stderr] 1074 |         if (self.key_type.is_none()) {
[INFO] [stderr]      |            ^                       ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1074 -         if (self.key_type.is_none()) {
[INFO] [stderr] 1074 +         if self.key_type.is_none()  {
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:113:12
[INFO] [stderr]     |
[INFO] [stderr] 113 |         if (access != clang::Accessibility::Public) {
[INFO] [stderr]     |            ^                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 113 -         if (access != clang::Accessibility::Public) {
[INFO] [stderr] 113 +         if access != clang::Accessibility::Public  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:177:16
[INFO] [stderr]     |
[INFO] [stderr] 177 |             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stderr]     |                ^                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 177 -             if (method.return_type.type_kind == TypeKind::StdVector) {
[INFO] [stderr] 177 +             if method.return_type.type_kind == TypeKind::StdVector  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:203:21
[INFO] [stderr]     |
[INFO] [stderr] 203 |             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stderr]     |                     ^                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 203 -             else if (method.return_type.type_kind == TypeKind::StdMap) {
[INFO] [stderr] 203 +             else if method.return_type.type_kind == TypeKind::StdMap  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:229:21
[INFO] [stderr]     |
[INFO] [stderr] 229 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stderr]     |                     ^                                                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 229 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stderr] 229 +             else if method.return_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:255:21
[INFO] [stderr]     |
[INFO] [stderr] 255 |             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stderr]     |                     ^                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 255 -             else if (method.return_type.type_kind == TypeKind::StdSet) {
[INFO] [stderr] 255 +             else if method.return_type.type_kind == TypeKind::StdSet  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:281:21
[INFO] [stderr]     |
[INFO] [stderr] 281 |             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stderr]     |                     ^                                                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 281 -             else if (method.return_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stderr] 281 +             else if method.return_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:307:20
[INFO] [stderr]     |
[INFO] [stderr] 307 |                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stderr]     |                    ^                                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 307 -                 if (param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stderr] 307 +                 if param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:333:25
[INFO] [stderr]     |
[INFO] [stderr] 333 |                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stderr]     |                         ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 333 -                 else if (param.field_type.type_kind == TypeKind::StdMap) {
[INFO] [stderr] 333 +                 else if param.field_type.type_kind == TypeKind::StdMap  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:359:25
[INFO] [stderr]     |
[INFO] [stderr] 359 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stderr]     |                         ^                                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 359 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedMap) {
[INFO] [stderr] 359 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedMap  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:385:25
[INFO] [stderr]     |
[INFO] [stderr] 385 |                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stderr]     |                         ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 385 -                 else if (param.field_type.type_kind == TypeKind::StdSet) {
[INFO] [stderr] 385 +                 else if param.field_type.type_kind == TypeKind::StdSet  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:411:25
[INFO] [stderr]     |
[INFO] [stderr] 411 |                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stderr]     |                         ^                                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 411 -                 else if (param.field_type.type_kind == TypeKind::StdUnorderedSet) {
[INFO] [stderr] 411 +                 else if param.field_type.type_kind == TypeKind::StdUnorderedSet  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:629:12
[INFO] [stderr]     |
[INFO] [stderr] 629 |         if (access != clang::Accessibility::Public) {
[INFO] [stderr]     |            ^                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 629 -         if (access != clang::Accessibility::Public) {
[INFO] [stderr] 629 +         if access != clang::Accessibility::Public  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/parser.rs:692:12
[INFO] [stderr]     |
[INFO] [stderr] 692 |         if (access != clang::Accessibility::Public) {
[INFO] [stderr]     |            ^                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 692 -         if (access != clang::Accessibility::Public) {
[INFO] [stderr] 692 +         if access != clang::Accessibility::Public  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:357:12
[INFO] [stderr]     |
[INFO] [stderr] 357 |         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stderr]     |            ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 357 -         if (param.field_type.type_kind == TypeKind::String) {
[INFO] [stderr] 357 +         if param.field_type.type_kind == TypeKind::String  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:363:17
[INFO] [stderr]     |
[INFO] [stderr] 363 |         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stderr]     |                 ^                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 363 -         else if (param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector) {
[INFO] [stderr] 363 +         else if param.field_type.type_kind == TypeKind::StdPtr || param.field_type.type_kind == TypeKind::StdVector  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:558:16
[INFO] [stderr]     |
[INFO] [stderr] 558 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stderr]     |                ^                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 558 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stderr] 558 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:602:16
[INFO] [stderr]     |
[INFO] [stderr] 602 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stderr]     |                ^                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 602 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stderr] 602 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:610:16
[INFO] [stderr]     |
[INFO] [stderr] 610 |             if (value_type.type_kind == TypeKind::String) {
[INFO] [stderr]     |                ^                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 610 -             if (value_type.type_kind == TypeKind::String) {
[INFO] [stderr] 610 +             if value_type.type_kind == TypeKind::String  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:842:13
[INFO] [stderr]     |
[INFO] [stderr] 842 |     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stderr]     |             ^                                                                                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 842 -     else if (return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level) {
[INFO] [stderr] 842 +     else if return_field_type.type_kind == TypeKind::Class && 0 == return_field_type.ptr_level  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:971:13
[INFO] [stderr]     |
[INFO] [stderr] 971 |     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stderr]     |             ^                                                                    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 971 -     else if (field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level) {
[INFO] [stderr] 971 +     else if field_type.type_kind == TypeKind::Class && 0 == field_type.ptr_level  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:979:13
[INFO] [stderr]     |
[INFO] [stderr] 979 |     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stderr]     |             ^                                                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 979 -     else if (field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level) {
[INFO] [stderr] 979 +     else if field_type.type_kind == TypeKind::StdMap && 0 == field_type.ptr_level  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:983:13
[INFO] [stderr]     |
[INFO] [stderr] 983 |     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stderr]     |             ^                                                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 983 -     else if (field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level) {
[INFO] [stderr] 983 +     else if field_type.type_kind == TypeKind::StdUnorderedMap && 0 == field_type.ptr_level  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:987:13
[INFO] [stderr]     |
[INFO] [stderr] 987 |     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stderr]     |             ^                                                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 987 -     else if (field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level) {
[INFO] [stderr] 987 +     else if field_type.type_kind == TypeKind::StdSet && 0 == field_type.ptr_level  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_c.rs:991:13
[INFO] [stderr]     |
[INFO] [stderr] 991 |     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stderr]     |             ^                                                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 991 -     else if (field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level) {
[INFO] [stderr] 991 +     else if field_type.type_kind == TypeKind::StdUnorderedSet && 0 == field_type.ptr_level  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_dart.rs:362:16
[INFO] [stderr]     |
[INFO] [stderr] 362 |             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stderr]     |                ^                                               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 362 -             if (method.return_type.type_kind == TypeKind::Class) {
[INFO] [stderr] 362 +             if method.return_type.type_kind == TypeKind::Class  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_dart.rs:378:20
[INFO] [stderr]     |
[INFO] [stderr] 378 |                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stderr]     |                    ^                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 378 -                 if (method.return_type.type_kind == TypeKind::String) {
[INFO] [stderr] 378 +                 if method.return_type.type_kind == TypeKind::String  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_dart.rs:389:16
[INFO] [stderr]     |
[INFO] [stderr] 389 |             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stderr]     |                ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 389 -             if (class.unwrap().class_type == ClassType::StdPtr) {
[INFO] [stderr] 389 +             if class.unwrap().class_type == ClassType::StdPtr  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/gen_dart.rs:594:8
[INFO] [stderr]     |
[INFO] [stderr] 594 |     if (method.method_type != MethodType::Normal) {
[INFO] [stderr]     |        ^                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 594 -     if (method.method_type != MethodType::Normal) {
[INFO] [stderr] 594 +     if method.method_type != MethodType::Normal  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/gen_dart.rs:604:5
[INFO] [stderr]     |
[INFO] [stderr] 604 |     /// native函数指针类型的名字
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 605 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stderr]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[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 doc comment
[INFO] [stderr]    --> src/gen_dart.rs:606:5
[INFO] [stderr]     |
[INFO] [stderr] 606 |     /// 注册函数的名字
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 607 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stderr]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/gen_dart.rs:608:5
[INFO] [stderr]     |
[INFO] [stderr] 608 |     /// 实现函数的名字
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 609 |     let dart_callback_fun_name = format!("_{}_{}", cur_class_name, method.name);
[INFO] [stderr]     |     ---------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/gen_dart.rs:753:5
[INFO] [stderr]     |
[INFO] [stderr] 753 |     /// native函数指针类型的名字
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 754 |     let native_fun_type_name = format!("FFI_{}_{}", cur_class_name, method.name);
[INFO] [stderr]     |     ----------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/gen_dart.rs:755:5
[INFO] [stderr]     |
[INFO] [stderr] 755 |     /// 注册函数的名字
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 756 |     let native_regist_fun_name = format!("{}_regist", native_fun_type_name);
[INFO] [stderr]     |     ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/gen_dart.rs:757:5
[INFO] [stderr]     |
[INFO] [stderr] 757 |     /// 参数列表
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 758 |     let params_str = get_str_native_api_params_decl(class, method);
[INFO] [stderr]     |     --------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pointee`
[INFO] [stderr]     --> src/gen_context.rs:1037:29
[INFO] [stderr]      |
[INFO] [stderr] 1037 |                 if let Some(pointee) = clang_type.unwrap().get_pointee_type() {
[INFO] [stderr]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointee`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/parser.rs:569:9
[INFO] [stderr]     |
[INFO] [stderr] 569 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/parser.rs:569:9
[INFO] [stderr]     |
[INFO] [stderr] 165 |         HppElement::File(file) => {
[INFO] [stderr]     |         ---------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 170 |         HppElement::Class(class) => {
[INFO] [stderr]     |         ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 175 |         HppElement::Method(method) => {
[INFO] [stderr]     |         -------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 438 |         HppElement::Field(field) => {
[INFO] [stderr]     |         ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 569 |         _ => {
[INFO] [stderr]     |         ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `class`
[INFO] [stderr]    --> src/parser.rs:611:27
[INFO] [stderr]     |
[INFO] [stderr] 611 |         HppElement::Class(class) => {
[INFO] [stderr]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gen_c.rs:192:9
[INFO] [stderr]     |
[INFO] [stderr] 192 |     let mut c_class_callback_impl = format!("{}
[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: unused variable: `field`
[INFO] [stderr]    --> src/gen_c.rs:182:31
[INFO] [stderr]     |
[INFO] [stderr] 182 |             HppElement::Field(field) => {
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field`
[INFO] [stderr]    --> src/gen_c.rs:206:31
[INFO] [stderr]     |
[INFO] [stderr] 206 |             HppElement::Field(field) => {
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field`
[INFO] [stderr]    --> src/gen_c.rs:229:31
[INFO] [stderr]     |
[INFO] [stderr] 229 |             HppElement::Field(field) => {
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ffi_class_name`
[INFO] [stderr]    --> src/gen_c.rs:337:9
[INFO] [stderr]     |
[INFO] [stderr] 337 |     let ffi_class_name = format!("FFI_{}", class.unwrap().type_str);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ffi_class_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_c.rs:616:9
[INFO] [stderr]     |
[INFO] [stderr] 616 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_c.rs:616:9
[INFO] [stderr]     |
[INFO] [stderr] 524 |         TypeKind::Void | TypeKind::Int64 | TypeKind::Float | TypeKind::Double | TypeKind::Char | TypeKind::Bool => {
[INFO] [stderr]     |         ------------------------------------------------------------------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 531 |         TypeKind::String => {
[INFO] [stderr]     |         ---------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 534 |         TypeKind::Class => {
[INFO] [stderr]     |         --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 545 |         TypeKind::StdPtr => {
[INFO] [stderr]     |         ---------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 616 |         _ => {
[INFO] [stderr]     |         ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_c.rs:706:9
[INFO] [stderr]     |
[INFO] [stderr] 706 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_c.rs:706:9
[INFO] [stderr]     |
[INFO] [stderr] 641 |         MethodType::Constructor => {
[INFO] [stderr]     |         ----------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 691 |         MethodType::Destructor => {
[INFO] [stderr]     |         ---------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 699 |         MethodType::Normal => {
[INFO] [stderr]     |         ------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 706 |         _ => {
[INFO] [stderr]     |         ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cls`
[INFO] [stderr]    --> src/gen_c.rs:719:33
[INFO] [stderr]     |
[INFO] [stderr] 719 |     let is_static = if let Some(cls) = class {
[INFO] [stderr]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_c.rs:881:9
[INFO] [stderr]     |
[INFO] [stderr] 881 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_c.rs:881:9
[INFO] [stderr]     |
[INFO] [stderr] 869 |         MethodType::Constructor => {
[INFO] [stderr]     |         ----------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 872 |         MethodType::Destructor => {
[INFO] [stderr]     |         ---------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 875 |         MethodType::Normal => {
[INFO] [stderr]     |         ------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 881 |         _ => {
[INFO] [stderr]     |         ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `method`
[INFO] [stderr]    --> src/gen_c.rs:888:58
[INFO] [stderr]     |
[INFO] [stderr] 888 | fn get_str_decl_class_name<'a>(class: Option<&'a Class>, method: &Method) -> &'a str {
[INFO] [stderr]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_dart.rs:202:9
[INFO] [stderr]     |
[INFO] [stderr] 202 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_dart.rs:202:9
[INFO] [stderr]     |
[INFO] [stderr]  48 |         HppElement::File(file) => {
[INFO] [stderr]     |         ---------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr]  97 |         HppElement::Class(class) => {
[INFO] [stderr]     |         ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 183 |         HppElement::Method(method) => {
[INFO] [stderr]     |         -------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 190 |         HppElement::Field(field) => {
[INFO] [stderr]     |         ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 202 |         _ => {
[INFO] [stderr]     |         ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gen_dart.rs:165:17
[INFO] [stderr]     |
[INFO] [stderr] 165 |             let mut class_footer = format!("}}\n\n");
[INFO] [stderr]     |                 ----^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_dart.rs:271:9
[INFO] [stderr]     |
[INFO] [stderr] 271 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_dart.rs:271:9
[INFO] [stderr]     |
[INFO] [stderr] 210 |         HppElement::File(file) => {
[INFO] [stderr]     |         ---------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 237 |         HppElement::Class(class) => {
[INFO] [stderr]     |         ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 246 |         HppElement::Method(method) => {
[INFO] [stderr]     |         -------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 259 |         HppElement::Field(field) => {
[INFO] [stderr]     |         ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 271 |         _ => {
[INFO] [stderr]     |         ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gen_dart.rs:224:17
[INFO] [stderr]     |
[INFO] [stderr] 224 |             let mut file_header = format!("
[INFO] [stderr]     |                 ----^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gen_context`
[INFO] [stderr]    --> src/gen_dart.rs:278:41
[INFO] [stderr]     |
[INFO] [stderr] 278 | fn gen_dart_fun_for_regist_callback<'a>(gen_context: &GenContext, hpp_element: &'a HppElement, gen_out_dir: &str, dart_gen_context: Optio...
[INFO] [stderr]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gen_out_dir`
[INFO] [stderr]    --> src/gen_dart.rs:278:96
[INFO] [stderr]     |
[INFO] [stderr] 278 | ...lement: &'a HppElement, gen_out_dir: &str, dart_gen_context: Option<&mut DartGenContext<'a>>, init_str: &mut String) {
[INFO] [stderr]     |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_out_dir`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dart_file`
[INFO] [stderr]    --> src/gen_dart.rs:282:17
[INFO] [stderr]     |
[INFO] [stderr] 282 |             let dart_file = local_dart_gen_context.cur_file.as_mut().unwrap();
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dart_fun_impl`
[INFO] [stderr]    --> src/gen_dart.rs:284:34
[INFO] [stderr]     |
[INFO] [stderr] 284 |             let (local_init_str, dart_fun_impl) = get_dart_fun_for_regist_callback(local_dart_gen_context.cur_class, method);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dart_fun_impl`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_dart.rs:319:9
[INFO] [stderr]     |
[INFO] [stderr] 319 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_dart.rs:319:9
[INFO] [stderr]     |
[INFO] [stderr] 313 |         MethodType::Normal | MethodType::Destructor => {
[INFO] [stderr]     |         ------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 316 |         MethodType::Constructor => {
[INFO] [stderr]     |         ----------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 319 |         _ => {
[INFO] [stderr]     |         ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_dart.rs:529:9
[INFO] [stderr]     |
[INFO] [stderr] 529 |         _ => {
[INFO] [stderr]     |         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_dart.rs:529:9
[INFO] [stderr]     |
[INFO] [stderr] 514 |         MethodType::Normal => {
[INFO] [stderr]     |         ------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 518 |         MethodType::Constructor => {
[INFO] [stderr]     |         ----------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 525 |         MethodType::Destructor => {
[INFO] [stderr]     |         ---------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 529 |         _ => {
[INFO] [stderr]     |         ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `class_is_callback`
[INFO] [stderr]    --> src/gen_dart.rs:497:26
[INFO] [stderr]     |
[INFO] [stderr] 497 |     let (cur_class_name, class_is_callback) = if let Some(cur_class) = class {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_is_callback`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `class`
[INFO] [stderr]    --> src/gen_dart.rs:540:33
[INFO] [stderr]     |
[INFO] [stderr] 540 | fn get_str_dart_fun_params_decl(class: Option<&Class>, method: &Method) -> String {
[INFO] [stderr]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `exception_value_str`
[INFO] [stderr]    --> src/gen_dart.rs:615:9
[INFO] [stderr]     |
[INFO] [stderr] 615 |     let exception_value_str = if exception_default_value_str.is_empty() {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exception_value_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `class`
[INFO] [stderr]    --> src/gen_dart.rs:652:53
[INFO] [stderr]     |
[INFO] [stderr] 652 | fn get_str_dart_fun_params_impl_for_regist_callback(class: Option<&Class>, method: &Method) -> String {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_dart.rs:831:13
[INFO] [stderr]     |
[INFO] [stderr] 831 |             _ => {
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_dart.rs:831:13
[INFO] [stderr]     |
[INFO] [stderr] 789 |             TypeKind::Void => {
[INFO] [stderr]     |             -------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 792 |             TypeKind::Int64 => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 795 |             TypeKind::Float => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 798 |             TypeKind::Double => {
[INFO] [stderr]     |             ---------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 831 |             _ => {
[INFO] [stderr]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gen_dart.rs:941:13
[INFO] [stderr]     |
[INFO] [stderr] 941 |             _ => {
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/gen_dart.rs:941:13
[INFO] [stderr]     |
[INFO] [stderr] 899 |             TypeKind::Void => {
[INFO] [stderr]     |             -------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 902 |             TypeKind::Int64 => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 905 |             TypeKind::Float => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 908 |             TypeKind::Double => {
[INFO] [stderr]     |             ---------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 941 |             _ => {
[INFO] [stderr]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: field `gen_context` is never read
[INFO] [stderr]   --> src/gen_c.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | struct CFileContext<'a> {
[INFO] [stderr]    |        ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub gen_context: &'a GenContext,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CFileContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fs::remove_dir_all(gen_out_dir);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 55 |     let _ = fs::remove_dir_all(gen_out_dir);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fs::create_dir_all(gen_out_dir);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 56 |     let _ = fs::create_dir_all(gen_out_dir);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_clang_ClassDecl` should have a snake case name
[INFO] [stderr]   --> src/parser.rs:97:4
[INFO] [stderr]    |
[INFO] [stderr] 97 | fn handle_clang_ClassDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_class_decl`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_clang_Constructor` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:575:4
[INFO] [stderr]     |
[INFO] [stderr] 575 | fn handle_clang_Constructor(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `handle_clang_constructor`
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_clang_Destructor` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:609:4
[INFO] [stderr]     |
[INFO] [stderr] 609 | fn handle_clang_Destructor(out_hpp_element: &mut HppElement, entity: &clang::Entity,) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_destructor`
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_clang_Method` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:627:4
[INFO] [stderr]     |
[INFO] [stderr] 627 | fn handle_clang_Method(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_method`
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_clang_ParmDecl` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:675:4
[INFO] [stderr]     |
[INFO] [stderr] 675 | fn handle_clang_ParmDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_parm_decl`
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_clang_FieldDecl` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:690:4
[INFO] [stderr]     |
[INFO] [stderr] 690 | fn handle_clang_FieldDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_field_decl`
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_clang_FunctionDecl` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:708:4
[INFO] [stderr]     |
[INFO] [stderr] 708 | fn handle_clang_FunctionDecl(out_hpp_element: &mut HppElement, entity: &clang::Entity<'_>, indent: usize) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_clang_function_decl`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_c.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     ch_file.write_all(ch_str.as_bytes());
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 122 |     let _ = ch_file.write_all(ch_str.as_bytes());
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_c.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |     cc_file.write_all(cc_str.as_bytes());
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 123 |     let _ = cc_file.write_all(cc_str.as_bytes());
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/gen_dart.rs:43:5
[INFO] [stderr]    |
[INFO] [stderr] 43 |     public_file.write_all(public_file_str.as_bytes());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let _ = public_file.write_all(public_file_str.as_bytes());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/gen_dart.rs:90:13
[INFO] [stderr]    |
[INFO] [stderr] 90 |             dart_file.write(file_header.as_bytes());
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 90 |             let _ = dart_file.write(file_header.as_bytes());
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:129:13
[INFO] [stderr]     |
[INFO] [stderr] 129 |             dart_file_header.write(class_header.as_bytes());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 129 |             let _ = dart_file_header.write(class_header.as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:134:17
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 dart_file_header.write(callback_header.as_bytes());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 let _ = dart_file_header.write(callback_header.as_bytes());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:147:17
[INFO] [stderr]     |
[INFO] [stderr] 147 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 147 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:151:17
[INFO] [stderr]     |
[INFO] [stderr] 151 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 151 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:155:17
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:159:17
[INFO] [stderr]     |
[INFO] [stderr] 159 |                 dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 159 |                 let _ = dart_file.write(convenience_methods.as_bytes());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:166:13
[INFO] [stderr]     |
[INFO] [stderr] 166 |             dart_file_footer.write(class_footer.as_bytes());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 166 |             let _ = dart_file_footer.write(class_footer.as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:180:17
[INFO] [stderr]     |
[INFO] [stderr] 180 |                 dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 180 |                 let _ = dart_file_footer.write(callback_footer.as_bytes());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:188:13
[INFO] [stderr]     |
[INFO] [stderr] 188 |             dart_file.write(method_impl.as_bytes());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 188 |             let _ = dart_file.write(method_impl.as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:200:13
[INFO] [stderr]     |
[INFO] [stderr] 200 |             dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 200 |             let _ = dart_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:230:13
[INFO] [stderr]     |
[INFO] [stderr] 230 |             ffiapi_file.write(file_header.as_bytes());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 230 |             let _ = ffiapi_file.write(file_header.as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:253:17
[INFO] [stderr]     |
[INFO] [stderr] 253 |                 ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 253 |                 let _ = ffiapi_file.write(format!("{}", dart_api_str).as_bytes());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:257:13
[INFO] [stderr]     |
[INFO] [stderr] 257 |             ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 257 |             let _ = ffiapi_file.write(format!("{}\n", dart_api_str).as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/gen_dart.rs:269:13
[INFO] [stderr]     |
[INFO] [stderr] 269 |             ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 269 |             let _ = ffiapi_file.write(format!("{}\n{}\n", get_method_str, set_method_str).as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]  --> tests/test_lib.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 |     use super::*;
[INFO] [stderr]   |         ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rs_hpp_bridge` (bin "rs_hpp_bridge" test) generated 95 warnings (run `cargo fix --bin "rs_hpp_bridge" -p rs_hpp_bridge --tests` to apply 51 suggestions)
[INFO] [stderr] warning: `rs_hpp_bridge` (test "test_lib") generated 1 warning (run `cargo fix --test "test_lib" -p rs_hpp_bridge` to apply 1 suggestion)
[INFO] [stderr] warning: `rs_hpp_bridge` (bin "rs_hpp_bridge") generated 95 warnings (95 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rs_hpp_bridge-a661ca703a252522)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test parser::test_parse_hpp ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- parser::test_parse_hpp stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::test_parse_hpp' (26) panicked at src/parser.rs:37:18:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Unknown
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbc0714d392 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbc0714d392 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbc0714d392 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5cbc0714d392 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5cbc0715e29f - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5cbc0715e29f - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5cbc0711ad33 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5cbc0711ad33 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5cbc07126c02 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5cbc0712b6df - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5cbc0712b571 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5cbc070e6f7e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5cbc070e6f7e - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cbc0712bcef - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5cbc0712bcef - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5cbc0712bb4a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5cbc07126d39 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5cbc0710eecd - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5cbc07166150 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbc07165496 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x5cbc070b84ec - core::result::Result<T,E>::unwrap::h5ae2c4e5c80af70c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5cbc070b84ec - rs_hpp_bridge::parser::parse_hpp::h787a3e9c486722c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/parser.rs:37:18
[INFO] [stdout]   22:     0x5cbc070b1406 - rs_hpp_bridge::parser::test_parse_hpp::h8578f79df9ad46cd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/parser.rs:57:5
[INFO] [stdout]   23:     0x5cbc070b1707 - rs_hpp_bridge::parser::test_parse_hpp::{{closure}}::ha986def2828badf0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/parser.rs:55:20
[INFO] [stdout]   24:     0x5cbc070989a6 - core::ops::function::FnOnce::call_once::hbe68739a0759c4fa
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5cbc070e6d5b - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5cbc070e6d5b - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5cbc070faddd - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5cbc070faddd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5cbc070faddd - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x5cbc070faddd - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x5cbc070faddd - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5cbc070faddd - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5cbc070faddd - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5cbc070d42f4 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5cbc070d42f4 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x5cbc070d7c2a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x5cbc070d7c2a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5cbc070d7c2a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x5cbc070d7c2a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x5cbc070d7c2a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5cbc070d7c2a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x5cbc070d7c2a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5cbc0712213f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x5cbc0712213f - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x712e65551aa4 - <unknown>
[INFO] [stdout]   46:     0x712e655dea64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     parser::test_parse_hpp
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin rs_hpp_bridge`
[INFO] running `Command { std: "docker" "inspect" "72976dd70af50ca99dcb9ed953964a549e90f36c02cc13e250eca7d91daff17c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72976dd70af50ca99dcb9ed953964a549e90f36c02cc13e250eca7d91daff17c", kill_on_drop: false }`
[INFO] [stdout] 72976dd70af50ca99dcb9ed953964a549e90f36c02cc13e250eca7d91daff17c
