[INFO] cloning repository https://github.com/suhanyujie/my-parser-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/suhanyujie/my-parser-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuhanyujie%2Fmy-parser-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuhanyujie%2Fmy-parser-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 28f6eff694fa1776da702f65718af700a45edeed
[INFO] checking suhanyujie/my-parser-rs against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuhanyujie%2Fmy-parser-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config
[INFO] started tweaking git repo https://github.com/suhanyujie/my-parser-rs
[INFO] finished tweaking git repo https://github.com/suhanyujie/my-parser-rs
[INFO] tweaked toml for git repo https://github.com/suhanyujie/my-parser-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/suhanyujie/my-parser-rs on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/suhanyujie/my-parser-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 646d788d2ceda3d1e155b760576b26193cf7c34c320b899f640f208478f572eb
[INFO] running `Command { std: "docker" "start" "-a" "646d788d2ceda3d1e155b760576b26193cf7c34c320b899f640f208478f572eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "646d788d2ceda3d1e155b760576b26193cf7c34c320b899f640f208478f572eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "646d788d2ceda3d1e155b760576b26193cf7c34c320b899f640f208478f572eb", kill_on_drop: false }`
[INFO] [stdout] 646d788d2ceda3d1e155b760576b26193cf7c34c320b899f640f208478f572eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 83a3281392b9aadee82f22461d67e84dbc02206c5158594a7a2d22afe2871445
[INFO] running `Command { std: "docker" "start" "-a" "83a3281392b9aadee82f22461d67e84dbc02206c5158594a7a2d22afe2871445", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.78
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.2
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]    Compiling minimal-lexical v0.1.2
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling nom v7.0.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]     Checking arc-swap v0.4.7
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking deunicode v0.4.3
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]     Checking unic-ucd-segment v0.9.0
[INFO] [stderr]     Checking slug v0.1.4
[INFO] [stderr]     Checking pin-project-lite v0.1.7
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]     Checking humansize v1.1.1
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking bstr v0.2.15
[INFO] [stderr]     Checking unic-segment v0.9.0
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.2.0
[INFO] [stderr]    Compiling quote v1.0.6
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]     Checking clap v2.33.1
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking regex v1.4.6
[INFO] [stderr]     Checking globset v0.4.8
[INFO] [stderr]     Checking ignore v0.4.18
[INFO] [stderr]     Checking globwalk v0.8.1
[INFO] [stderr]    Compiling syn-mid v0.5.0
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling tokio-macros v0.2.5
[INFO] [stderr]    Compiling chrono-tz v0.5.3
[INFO] [stderr]     Checking tokio v0.2.21
[INFO] [stderr]    Compiling structopt-derive v0.4.7
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]     Checking structopt v0.3.14
[INFO] [stderr]     Checking serde v1.0.130
[INFO] [stderr]     Checking serde_json v1.0.68
[INFO] [stderr]     Checking tera v1.12.1
[INFO] [stderr]     Checking my-parser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:64
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                                                                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:33
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:78
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:88
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/http.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     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 imports: `Err`, `ErrorKind`, `VerboseError`, and `convert_error`
[INFO] [stdout]   --> src/json.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     error::{context, convert_error, ContextError, ErrorKind, ParseError, VerboseError},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^                ^^^^^^^^^              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Err, IResult,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/json.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/markdown.rs:357:9
[INFO] [stdout]     |
[INFO] [stdout] 357 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextError`, `Err`, `ErrorKind`, `IResult`, `ParseError`, `VerboseError`, `alphanumeric1 as alphanumeric`, `branch::alt`, `char`, `context`, `convert_error`, `cut`, `delimited`, `escaped`, `line_ending`, `many1`, `many_m_n`, `map`, `multispace1`, `not_line_ending`, `number::complete::double`, `one_of`, `opt`, `pair`, `preceded`, `separated_list0`, `separated_pair`, `tag`, `take_while`, `terminated`, and `value`
[INFO] [stdout]   --> src/markdown_nom.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 |     branch::alt,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]  7 |     bytes::complete::{escaped, tag, take_while},
[INFO] [stdout]    |                       ^^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout]  8 |     character::complete::{
[INFO] [stdout]  9 |         alphanumeric1 as alphanumeric, char, line_ending, multispace1, not_line_ending, one_of,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 10 |     },
[INFO] [stdout] 11 |     combinator::{cut, map, opt, value},
[INFO] [stdout]    |                  ^^^  ^^^  ^^^  ^^^^^
[INFO] [stdout] 12 |     error::{context, convert_error, ContextError, ErrorKind, ParseError, VerboseError},
[INFO] [stdout]    |             ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 13 |     multi::{many1, many_m_n, separated_list0},
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     number::complete::double,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     sequence::{delimited, pair, preceded, separated_pair, terminated},
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 16 |     Err, IResult,
[INFO] [stdout]    |     ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/markdown_nom.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/markdown_nom.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `many0`, `map_parser`, `pair`, and `terminated`
[INFO] [stdout]  --> src/nom1.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 |     combinator::{map_parser, map_res},
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 8 |     multi::{many0, many1},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 9 |     sequence::{delimited, pair, terminated, tuple},
[INFO] [stdout]   |                           ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::whitespace_char`
[INFO] [stdout]   --> src/nom1.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::whitespace_char;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::combinator::map as nom_map`
[INFO] [stdout]    --> src/parse_string.rs:287:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | use nom::combinator::map as nom_map;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Err`, `Parser`, and `error::ErrorKind`
[INFO] [stdout]    --> src/parse_string.rs:296:11
[INFO] [stdout]     |
[INFO] [stdout] 296 | use nom::{error::ErrorKind, Err, Parser};
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut`
[INFO] [stdout]  --> src/redis.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bytes::{BufMut, BytesMut};
[INFO] [stdout]   |             ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::prelude::*`
[INFO] [stdout]  --> src/redis.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/redis.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse_str_with_escaped_and_combine`
[INFO] [stdout]   --> src/sql1.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     parse_str_with_escaped_and_combine, parse_str_with_escaped_and_combine_in_single_quote,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `many0`, `preceded`, and `take_while1`
[INFO] [stdout]    --> src/sql1.rs:101:41
[INFO] [stdout]     |
[INFO] [stdout] 101 |     bytes::complete::{tag, tag_no_case, take_while1},
[INFO] [stdout]     |                                         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     multi::{fold_many1, many0, many1, many_m_n},
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 107 |     sequence::{preceded, tuple},
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OneColumn`
[INFO] [stdout]   --> src/sql2_render.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::sql1::{DataTypeEnum, OneColumn};
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::to_string`
[INFO] [stdout]   --> src/sql2_render.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde_json::to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Error`
[INFO] [stdout]   --> src/sql2_render.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use serde_json::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate-level attribute should be in the root module
[INFO] [stdout]  --> src/markdown.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unicode_internals)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:35:64
[INFO] [stdout]    |
[INFO] [stdout] 35 |         (0...64, 0...64) | (91...96, 91...96) | (123...255, 123...255) => a == b,
[INFO] [stdout]    |                                                                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:33
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:78
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/http.rs:36:88
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   (65...90, 65...90) | (97...122, 97...122) | (65...90, 97...122) | (97...122, 65...90) => *a | 0b00_10_00_00 == *b | 0b00_10_00...
[INFO] [stdout]    |                                                                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Err`, `VerboseError`, and `convert_error`
[INFO] [stdout]   --> src/json.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     error::{context, convert_error, ContextError, ErrorKind, ParseError, VerboseError},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^                                       ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Err, IResult,
[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 imports: `ContextError`, `Err`, `ErrorKind`, `IResult`, `ParseError`, `VerboseError`, `alphanumeric1 as alphanumeric`, `branch::alt`, `char`, `context`, `convert_error`, `cut`, `delimited`, `escaped`, `line_ending`, `many1`, `many_m_n`, `map`, `multispace1`, `not_line_ending`, `number::complete::double`, `one_of`, `opt`, `pair`, `preceded`, `separated_list0`, `separated_pair`, `tag`, `take_while`, `terminated`, and `value`
[INFO] [stdout]   --> src/markdown_nom.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 |     branch::alt,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]  7 |     bytes::complete::{escaped, tag, take_while},
[INFO] [stdout]    |                       ^^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout]  8 |     character::complete::{
[INFO] [stdout]  9 |         alphanumeric1 as alphanumeric, char, line_ending, multispace1, not_line_ending, one_of,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 10 |     },
[INFO] [stdout] 11 |     combinator::{cut, map, opt, value},
[INFO] [stdout]    |                  ^^^  ^^^  ^^^  ^^^^^
[INFO] [stdout] 12 |     error::{context, convert_error, ContextError, ErrorKind, ParseError, VerboseError},
[INFO] [stdout]    |             ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 13 |     multi::{many1, many_m_n, separated_list0},
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     number::complete::double,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     sequence::{delimited, pair, preceded, separated_pair, terminated},
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 16 |     Err, IResult,
[INFO] [stdout]    |     ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/markdown_nom.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/markdown_nom.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `many0`, `map_parser`, `pair`, and `terminated`
[INFO] [stdout]  --> src/nom1.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 |     combinator::{map_parser, map_res},
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 8 |     multi::{many0, many1},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 9 |     sequence::{delimited, pair, terminated, tuple},
[INFO] [stdout]   |                           ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::whitespace_char`
[INFO] [stdout]   --> src/nom1.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::whitespace_char;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Err`, `Parser`, and `error::ErrorKind`
[INFO] [stdout]    --> src/parse_string.rs:296:11
[INFO] [stdout]     |
[INFO] [stdout] 296 | use nom::{error::ErrorKind, Err, Parser};
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `is_alphabetic` and `is_digit`
[INFO] [stdout]    --> src/parse_string.rs:402:26
[INFO] [stdout]     |
[INFO] [stdout] 402 |     use nom::character::{is_alphabetic, is_digit};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::map`
[INFO] [stdout]    --> src/parse_string.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |     use crate::map;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut`
[INFO] [stdout]  --> src/redis.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bytes::{BufMut, BytesMut};
[INFO] [stdout]   |             ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::prelude::*`
[INFO] [stdout]  --> src/redis.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse_str_with_escaped_and_combine`
[INFO] [stdout]   --> src/sql1.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     parse_str_with_escaped_and_combine, parse_str_with_escaped_and_combine_in_single_quote,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `many0`, `preceded`, and `take_while1`
[INFO] [stdout]    --> src/sql1.rs:101:41
[INFO] [stdout]     |
[INFO] [stdout] 101 |     bytes::complete::{tag, tag_no_case, take_while1},
[INFO] [stdout]     |                                         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     multi::{fold_many1, many0, many1, many_m_n},
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 107 |     sequence::{preceded, tuple},
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::to_string`
[INFO] [stdout]   --> src/sql2_render.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde_json::to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Error`
[INFO] [stdout]   --> src/sql2_render.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use serde_json::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate-level attribute should be in the root module
[INFO] [stdout]  --> src/markdown.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unicode_internals)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/redis.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut stream = TcpStream::connect("127.0.0.1:6379").await?;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/redis.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut stream = TcpStream::connect("127.0.0.1:6379").await?;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `level` is assigned to, but never used
[INFO] [stdout]    --> src/markdown.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |     let mut level: u8 = 0;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_level` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `level` is never read
[INFO] [stdout]    --> src/markdown.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             level += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `level` is never read
[INFO] [stdout]    --> src/markdown.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             level += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `level` is assigned to, but never used
[INFO] [stdout]    --> src/markdown.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |     let mut level: u8 = 0;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_level` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `level` is never read
[INFO] [stdout]    --> src/markdown.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             level += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `level` is never read
[INFO] [stdout]    --> src/markdown.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             level += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql1.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let mut column_define_builder =
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1`
[INFO] [stdout]    --> src/parse_num1.rs:228:20
[INFO] [stdout]     |
[INFO] [stdout] 228 |         if let Ok((p1, p2)) = parse_u32("(12345)".as_bytes()) {
[INFO] [stdout]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `typ_enum` is never read
[INFO] [stdout]    --> src/sql1.rs:574:32
[INFO] [stdout]     |
[INFO] [stdout] 574 |             let mut typ_enum = IndexIdxTyeEnum::None;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/redis.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let res = connect();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `typ_enum` is never read
[INFO] [stdout]    --> src/sql1.rs:626:32
[INFO] [stdout]     |
[INFO] [stdout] 626 |             let mut typ_enum = IndexIdxTyeEnum::None;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql1.rs:648:9
[INFO] [stdout]     |
[INFO] [stdout] 648 |     let mut parse_if_not_exist = tuple((
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u32`
[INFO] [stdout]    --> src/sql2_render.rs:101:32
[INFO] [stdout]     |
[INFO] [stdout] 101 |         DataTypeEnum::DateTime(u32) => "datetime".to_string(),
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql2_render.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let mut ctx = Context::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Element` is never constructed
[INFO] [stdout]   --> src/lib.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Element {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `the_letter_a` is never used
[INFO] [stdout]   --> src/lib.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn the_letter_a(input: &str) -> Result<(&str, ()), &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_literal` is never used
[INFO] [stdout]   --> src/lib.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn match_literal(expected: &'static str) -> impl Fn(&str) -> Result<(&str, ()), &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identifier_v1` is never used
[INFO] [stdout]   --> src/lib.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn identifier_v1(input: &str) -> Result<(&str, String), &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_v1` is never used
[INFO] [stdout]   --> src/lib.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn pair_v1<P1, P2, R1, R2>(
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_v1` is never used
[INFO] [stdout]   --> src/lib.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn map_v1<P, F, A, B>(parser: P, map_fn: F) -> impl Fn(&str) -> Result<(&str, B), &str>
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ParseResult` is never used
[INFO] [stdout]   --> src/lib.rs:85:6
[INFO] [stdout]    |
[INFO] [stdout] 85 | type ParseResult<'a, Output> = Result<(&'a str, Output), &'a str>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ParserV1` is never used
[INFO] [stdout]   --> src/lib.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | trait ParserV1<'a, Output> {
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Parser` is never used
[INFO] [stdout]   --> src/lib.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 | trait Parser<'a, Output> {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map` is never used
[INFO] [stdout]    --> src/lib.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn map<'a, P, F, A, B>(parser: P, map_fn: F) -> impl Parser<'a, B>
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_v2` is never used
[INFO] [stdout]    --> src/lib.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn pair_v2<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)>
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_v3` is never used
[INFO] [stdout]    --> src/lib.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn pair_v3<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)>
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair` is never used
[INFO] [stdout]    --> src/lib.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn pair<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `left` is never used
[INFO] [stdout]    --> src/lib.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn left<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R1>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `right` is never used
[INFO] [stdout]    --> src/lib.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn right<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R2>
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identifier` is never used
[INFO] [stdout]    --> src/lib.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn identifier(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_or_more` is never used
[INFO] [stdout]    --> src/lib.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn one_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec<A>>
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zero_or_more` is never used
[INFO] [stdout]    --> src/lib.rs:256:4
[INFO] [stdout]     |
[INFO] [stdout] 256 | fn zero_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec<A>>
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_char` is never used
[INFO] [stdout]    --> src/lib.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pred` is never used
[INFO] [stdout]    --> src/lib.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn pred<'a, P, A, F>(parser: P, predicate: F) -> impl Parser<'a, A>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `whitespace_char` is never used
[INFO] [stdout]    --> src/lib.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn whitespace_char<'a>() -> impl Parser<'a, char> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space1` is never used
[INFO] [stdout]    --> src/lib.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn space1<'a>() -> impl Parser<'a, Vec<char>> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space0` is never used
[INFO] [stdout]    --> src/lib.rs:313:4
[INFO] [stdout]     |
[INFO] [stdout] 313 | fn space0<'a>() -> impl Parser<'a, Vec<char>> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quoted_string_v1` is never used
[INFO] [stdout]    --> src/lib.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn quoted_string_v1<'a>() -> impl Parser<'a, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attribute_pair` is never used
[INFO] [stdout]    --> src/lib.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn attribute_pair<'a>() -> impl Parser<'a, (String, String)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attributes` is never used
[INFO] [stdout]    --> src/lib.rs:336:4
[INFO] [stdout]     |
[INFO] [stdout] 336 | fn attributes<'a>() -> impl Parser<'a, Vec<(String, String)>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `element_start` is never used
[INFO] [stdout]    --> src/lib.rs:340:4
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn element_start<'a>() -> impl Parser<'a, (String, Vec<(String, String)>)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoxedParser` is never constructed
[INFO] [stdout]    --> src/lib.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct BoxedParser<'a, Output> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:360:8
[INFO] [stdout]     |
[INFO] [stdout] 359 | impl<'a, Output> BoxedParser<'a, Output> {
[INFO] [stdout]     | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 360 |     fn new<P>(parser: P) -> Self
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quoted_string` is never used
[INFO] [stdout]    --> src/lib.rs:376:4
[INFO] [stdout]     |
[INFO] [stdout] 376 | fn quoted_string<'a>() -> impl Parser<'a, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_element` is never used
[INFO] [stdout]    --> src/lib.rs:388:4
[INFO] [stdout]     |
[INFO] [stdout] 388 | fn single_element<'a>() -> impl Parser<'a, Element> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_element` is never used
[INFO] [stdout]    --> src/lib.rs:396:4
[INFO] [stdout]     |
[INFO] [stdout] 396 | fn open_element<'a>() -> impl Parser<'a, Element> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `either` is never used
[INFO] [stdout]    --> src/lib.rs:405:4
[INFO] [stdout]     |
[INFO] [stdout] 405 | fn either<'a, P1, P2, A>(parser1: P1, parser2: P2) -> impl Parser<'a, A>
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `element_v1` is never used
[INFO] [stdout]    --> src/lib.rs:416:4
[INFO] [stdout]     |
[INFO] [stdout] 416 | fn element_v1<'a>() -> impl Parser<'a, Element> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `close_element` is never used
[INFO] [stdout]    --> src/lib.rs:420:4
[INFO] [stdout]     |
[INFO] [stdout] 420 | fn close_element<'a>(expected_name: String) -> impl Parser<'a, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `and_then` is never used
[INFO] [stdout]    --> src/lib.rs:432:4
[INFO] [stdout]     |
[INFO] [stdout] 432 | fn and_then<'a, P, F, A, B, NextP>(parser: P, f: F) -> impl Parser<'a, B>
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parent_element` is never used
[INFO] [stdout]    --> src/lib.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn parent_element<'a>() -> impl Parser<'a, Element> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `whitespace_wrap` is never used
[INFO] [stdout]    --> src/lib.rs:454:4
[INFO] [stdout]     |
[INFO] [stdout] 454 | fn whitespace_wrap<'a, P, A>(parser: P) -> impl Parser<'a, A>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `element` is never used
[INFO] [stdout]    --> src/lib.rs:461:4
[INFO] [stdout]     |
[INFO] [stdout] 461 | fn element<'a>() -> impl Parser<'a, Element> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Method` is never used
[INFO] [stdout]  --> src/http.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Method {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/http.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Method {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(s: &[u8]) -> Method {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_no_case` is never used
[INFO] [stdout]   --> src/http.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn compare_no_case(left: &[u8], right: &[u8]) ->bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JsonValue` is never used
[INFO] [stdout]   --> src/json.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum JsonValue {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_str` is never used
[INFO] [stdout]   --> src/json.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn parse_str<'a, E: ParseError<&'a str>>(i: &'a str) -> IResult<&'a str, &'a str, E> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `boolean` is never used
[INFO] [stdout]   --> src/json.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn boolean<'a, E: ParseError<&'a str>>(input: &'a str) -> IResult<&'a str, bool, E> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string` is never used
[INFO] [stdout]   --> src/json.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn string<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array` is never used
[INFO] [stdout]   --> src/json.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn array<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `key_value` is never used
[INFO] [stdout]   --> src/json.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn key_value<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash` is never used
[INFO] [stdout]   --> src/json.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn hash<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_value` is never used
[INFO] [stdout]   --> src/json.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn json_value<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sp` is never used
[INFO] [stdout]    --> src/json.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn sp<'a, E: ParseError<&'a str>>(i: &'a str) -> IResult<&'a str, &'a str, E> {
[INFO] [stdout]     |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `root` is never used
[INFO] [stdout]    --> src/json.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn root<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Title` is never constructed
[INFO] [stdout]  --> src/markdown.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Title {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TitleItem` is never constructed
[INFO] [stdout]   --> src/markdown.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct TitleItem {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ElementList` is never used
[INFO] [stdout]   --> src/markdown.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type ElementList = Vec<TitleItem>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MdBody` is never constructed
[INFO] [stdout]   --> src/markdown.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct MdBody {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `the_letter_a` is never used
[INFO] [stdout]   --> src/markdown.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn the_letter_a(input: &str) -> Result<(&str, ()), &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_literal` is never used
[INFO] [stdout]   --> src/markdown.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn match_literal(expected: &'static str) -> impl Fn(&str) -> Result<(&str, ()), &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ParseResult` is never used
[INFO] [stdout]   --> src/markdown.rs:40:6
[INFO] [stdout]    |
[INFO] [stdout] 40 | type ParseResult<'a, Output> = Result<(&'a str, Output), &'a str>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Parser` is never used
[INFO] [stdout]   --> src/markdown.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | trait Parser<'a, Output> {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `and_then` is never used
[INFO] [stdout]   --> src/markdown.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn and_then<'a, P, F, A, B, NextP>(parser: P, f: F) -> impl Parser<'a, B>
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair` is never used
[INFO] [stdout]   --> src/markdown.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn pair<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)>
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `left` is never used
[INFO] [stdout]    --> src/markdown.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn left<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R1>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `right` is never used
[INFO] [stdout]    --> src/markdown.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn right<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R2>
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pred` is never used
[INFO] [stdout]    --> src/markdown.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn pred<'a, P, A, F>(parser: P, predicate: F) -> impl Parser<'a, A>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ExtMatch` is never used
[INFO] [stdout]    --> src/markdown.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | trait ExtMatch {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recog_title` is never used
[INFO] [stdout]    --> src/markdown.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn recog_title(input: &str) -> Result<(&str, String), &str> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map` is never used
[INFO] [stdout]    --> src/markdown.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn map<'a, P, F, A, B>(parser: P, map_fn: F) -> impl Parser<'a, B>
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoxedParser` is never constructed
[INFO] [stdout]    --> src/markdown.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct BoxedParser<'a, Output> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/markdown.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl<'a, Output> BoxedParser<'a, Output> {
[INFO] [stdout]     | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 197 |     fn new<P>(parser: P) -> Self
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recog_title_content` is never used
[INFO] [stdout]    --> src/markdown.rs:214:4
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn recog_title_content(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_or_more` is never used
[INFO] [stdout]    --> src/markdown.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn one_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec<A>>
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zero_or_more` is never used
[INFO] [stdout]    --> src/markdown.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn zero_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec<A>>
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_char` is never used
[INFO] [stdout]    --> src/markdown.rs:266:4
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql1.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let mut column_define_builder =
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `whitespace_str` is never used
[INFO] [stdout]    --> src/markdown.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn whitespace_str<'a>() -> impl Parser<'a, char> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space0` is never used
[INFO] [stdout]    --> src/markdown.rs:277:4
[INFO] [stdout]     |
[INFO] [stdout] 277 | fn space0<'a>() -> impl Parser<'a, Vec<char>> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space1` is never used
[INFO] [stdout]    --> src/markdown.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn space1<'a>() -> impl Parser<'a, Vec<char>> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `title_content` is never used
[INFO] [stdout]    --> src/markdown.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn title_content<'a>() -> impl Parser<'a, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `title_level` is never used
[INFO] [stdout]    --> src/markdown.rs:299:4
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn title_level(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `title_level2` is never used
[INFO] [stdout]    --> src/markdown.rs:324:4
[INFO] [stdout]     |
[INFO] [stdout] 324 | fn title_level2(input: &str) -> ParseResult<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `title_pair` is never used
[INFO] [stdout]    --> src/markdown.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn title_pair<'a>() -> impl Parser<'a, (u8, String)> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Title` is never constructed
[INFO] [stdout]   --> src/markdown_nom.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Title {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MdValue` is never used
[INFO] [stdout]   --> src/markdown_nom.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum MdValue {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Color` is never constructed
[INFO] [stdout]   --> src/nom1.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Color {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_hex` is never used
[INFO] [stdout]   --> src/nom1.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn from_hex(input: &str) -> Result<u8, std::num::ParseIntError> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_primary` is never used
[INFO] [stdout]   --> src/nom1.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn hex_primary(input: &str) -> IResult<&str, u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_hex_digit` is never used
[INFO] [stdout]   --> src/nom1.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn is_hex_digit(c: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_color` is never used
[INFO] [stdout]   --> src/nom1.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn hex_color(input: &str) -> IResult<&str, Color> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md_title_level` is never used
[INFO] [stdout]   --> src/nom1.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn md_title_level(input: &str) -> IResult<&str, (&str, &str)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md_title_content_part` is never used
[INFO] [stdout]   --> src/nom1.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn md_title_content_part(input: &str) -> IResult<&str, &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md_title_code_block` is never used
[INFO] [stdout]   --> src/nom1.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn md_title_code_block(input: &str) -> IResult<&str, &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md_title_content` is never used
[INFO] [stdout]   --> src/nom1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn md_title_content(input: &str) -> IResult<&str, Vec<&str>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md_title_content_dealed` is never used
[INFO] [stdout]   --> src/nom1.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn md_title_content_dealed(input: &str) -> IResult<&str, Vec<&str>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u32` is never used
[INFO] [stdout]    --> src/parse_num1.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn parse_u32(input: &[u8]) -> IResult<&[u8], &[u8]> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u32_ver1` is never used
[INFO] [stdout]    --> src/parse_num1.rs:182:4
[INFO] [stdout]     |
[INFO] [stdout] 182 | fn parse_u32_ver1(input: &[u8]) -> nom::IResult<&[u8], u32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_normal_str1` is never used
[INFO] [stdout]    --> src/parse_string.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn parse_normal_str1<'a>(input: &'a str) -> IResult<&'a str, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_normal_or_escaped_str` is never used
[INFO] [stdout]    --> src/parse_string.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn parse_normal_or_escaped_str(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_str_with_escaped_and_combine` is never used
[INFO] [stdout]    --> src/parse_string.rs:361:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub fn parse_str_with_escaped_and_combine(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Fr` is never used
[INFO] [stdout]    --> src/parse_string.rs:391:6
[INFO] [stdout]     |
[INFO] [stdout] 391 | enum Fr<'a> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo1` is never used
[INFO] [stdout]    --> src/parse_string.rs:395:4
[INFO] [stdout]     |
[INFO] [stdout] 395 | fn demo1() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect` is never used
[INFO] [stdout]  --> src/redis.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | async fn connect() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableSchema` is never constructed
[INFO] [stdout]    --> src/sql1.rs:801:8
[INFO] [stdout]     |
[INFO] [stdout] 801 | struct TableSchema {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_create_sql` is never used
[INFO] [stdout]    --> src/sql1.rs:808:4
[INFO] [stdout]     |
[INFO] [stdout] 808 | fn parse_create_sql(input: &str) -> IResult<&str, TableSchema> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `setting` is never read
[INFO] [stdout]    --> src/sql2_render.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct TypeRender {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     setting: RenderSetting,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeRender` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod sql2_render;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:2:9
[INFO] [stdout]    |
[INFO] [stdout]  2 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:218:22
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn identifier(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                      ^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn identifier(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:281:20
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |                    ^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn any_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:214:31
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn recog_title_content(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                               ^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn recog_title_content(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:266:20
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |                    ^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn any_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:299:23
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn title_level(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                       ^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn title_level(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:324:24
[INFO] [stdout]     |
[INFO] [stdout] 324 | fn title_level2(input: &str) -> ParseResult<u8> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 324 | fn title_level2(input: &str) -> ParseResult<'_, u8> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn parse_column_definition_of_null(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn parse_column_definition_of_not_null(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn identifier_char_parser(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/sql1.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum DataTypeEnum {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     TinyInt,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     SmallInt,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     Int,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     Bigint,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     VarChar(u32),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     DateTime(u32),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     Text,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     BigText,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     Decimal(u8),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/sql1.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub enum DefaultEnum {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     DefaultNone, // 没有 default 语句
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     DefaultNull,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     DefaultInt(u32),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     DefaultStr(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     DefaultCurStamp,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     DefaultAutoIncrement,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     DefaultCurStampOnUpdateCurStamp,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     DefaultOnUpdateCurStamp,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:198:1
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub fn type_int_size(input: &str) -> IResult<&str, u32> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn type_tiny_int(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:212:1
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn parse_int_auto_increment(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn parse_int_is_unsigned(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn type_some_int(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn type_collate(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:260:1
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn type_varchar(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:269:1
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn type_datetime(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn type_text(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn type_bigtext(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn type_decimal(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:305:1
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn parse_data_type(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn parse_default_int(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:319:1
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub fn parse_default_str(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:331:1
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub fn parse_comment(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub fn parse_default_null(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub fn parse_default_on_current_timestamp(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub fn parse_default_current_timestamp(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn parse_default(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     pub name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub typ: DataTypeEnum,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub comment: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:421:1
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn parse_end_has_comma(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:428:1
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub fn parse_end_no_comma(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:437:1
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub fn parse_end_comma(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:467:1
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn parse_column_definition2(input: &str) -> IResult<&str, OneLineEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:491:1
[INFO] [stdout]     |
[INFO] [stdout] 491 | pub fn parse_many_column_definition(input: &str) -> IResult<&str, Vec<OneColumn>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     Column(OneColumn),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:517:5
[INFO] [stdout]     |
[INFO] [stdout] 517 |     Index(OneIndex),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 523 |     Primary,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:524:5
[INFO] [stdout]     |
[INFO] [stdout] 524 |     Unique,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:525:5
[INFO] [stdout]     |
[INFO] [stdout] 525 |     Normal,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:526:5
[INFO] [stdout]     |
[INFO] [stdout] 526 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:555:1
[INFO] [stdout]     |
[INFO] [stdout] 555 | pub fn parse_idx_line(input: &str) -> IResult<&str, OneIndex> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:709:5
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub engine: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     pub charset: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub collate: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:712:5
[INFO] [stdout]     |
[INFO] [stdout] 712 |     pub comment: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/sql2_render.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn to_big_case_camel_helper(args: &HashMap<String, Value>) -> tera::Result<Value> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/sql2_render.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn transfer_type(typ: DataTypeEnum) -> String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql2_render.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn transfer_type_helper(args: &HashMap<String, Value>) -> tera::Result<Value> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/sql2_render.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/sql2_render.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub enum FieldNameStyleEnum {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql2_render.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     SmallCaseCamel,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql2_render.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     BigCaseCamel,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql2_render.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     Underline,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `typ_enum` is never read
[INFO] [stdout]    --> src/sql1.rs:574:32
[INFO] [stdout]     |
[INFO] [stdout] 574 |             let mut typ_enum = IndexIdxTyeEnum::None;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `typ_enum` is never read
[INFO] [stdout]    --> src/sql1.rs:626:32
[INFO] [stdout]     |
[INFO] [stdout] 626 |             let mut typ_enum = IndexIdxTyeEnum::None;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql1.rs:648:9
[INFO] [stdout]     |
[INFO] [stdout] 648 |     let mut parse_if_not_exist = tuple((
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u32`
[INFO] [stdout]    --> src/sql2_render.rs:101:32
[INFO] [stdout]     |
[INFO] [stdout] 101 |         DataTypeEnum::DateTime(u32) => "datetime".to_string(),
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql2_render.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let mut ctx = Context::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identifier_v1` is never used
[INFO] [stdout]   --> src/lib.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn identifier_v1(input: &str) -> Result<(&str, String), &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_v1` is never used
[INFO] [stdout]   --> src/lib.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn pair_v1<P1, P2, R1, R2>(
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_v1` is never used
[INFO] [stdout]   --> src/lib.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn map_v1<P, F, A, B>(parser: P, map_fn: F) -> impl Fn(&str) -> Result<(&str, B), &str>
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ParserV1` is never used
[INFO] [stdout]   --> src/lib.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | trait ParserV1<'a, Output> {
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_v2` is never used
[INFO] [stdout]    --> src/lib.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn pair_v2<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)>
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_v3` is never used
[INFO] [stdout]    --> src/lib.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn pair_v3<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)>
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quoted_string_v1` is never used
[INFO] [stdout]    --> src/lib.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn quoted_string_v1<'a>() -> impl Parser<'a, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `element_v1` is never used
[INFO] [stdout]    --> src/lib.rs:416:4
[INFO] [stdout]     |
[INFO] [stdout] 416 | fn element_v1<'a>() -> impl Parser<'a, Element> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Head`, `Options`, `Put`, `Delete`, `Trace`, and `Connect` are never constructed
[INFO] [stdout]   --> src/http.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Method {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |   Head,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 11 |   Options,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 12 |   Put,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 13 |   Delete,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 14 |   Trace,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 15 |   Connect,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Method` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]  --> src/markdown.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Title {
[INFO] [stdout]   |        ----- field in this struct
[INFO] [stdout] 5 |     level: u8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Title` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TitleItem` is never constructed
[INFO] [stdout]   --> src/markdown.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct TitleItem {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ElementList` is never used
[INFO] [stdout]   --> src/markdown.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type ElementList = Vec<TitleItem>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MdBody` is never constructed
[INFO] [stdout]   --> src/markdown.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct MdBody {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `the_letter_a` is never used
[INFO] [stdout]   --> src/markdown.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn the_letter_a(input: &str) -> Result<(&str, ()), &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map`, `pred`, and `and_then` are never used
[INFO] [stdout]   --> src/markdown.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | trait Parser<'a, Output> {
[INFO] [stdout]    |       ------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn map<F, NewOutput>(self, map_fn: F) -> BoxedParser<'a, NewOutput>
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn pred<F>(self, pred_fn: F) -> BoxedParser<'a, Output>
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     fn and_then<F, NextParser, NewOutput>(self, f: F) -> BoxedParser<'a, NewOutput>
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `and_then` is never used
[INFO] [stdout]   --> src/markdown.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn and_then<'a, P, F, A, B, NextP>(parser: P, f: F) -> impl Parser<'a, B>
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recog_title` is never used
[INFO] [stdout]    --> src/markdown.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn recog_title(input: &str) -> Result<(&str, String), &str> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoxedParser` is never constructed
[INFO] [stdout]    --> src/markdown.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct BoxedParser<'a, Output> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/markdown.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl<'a, Output> BoxedParser<'a, Output> {
[INFO] [stdout]     | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 197 |     fn new<P>(parser: P) -> Self
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `whitespace_str` is never used
[INFO] [stdout]    --> src/markdown.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn whitespace_str<'a>() -> impl Parser<'a, char> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space0` is never used
[INFO] [stdout]    --> src/markdown.rs:277:4
[INFO] [stdout]     |
[INFO] [stdout] 277 | fn space0<'a>() -> impl Parser<'a, Vec<char>> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space1` is never used
[INFO] [stdout]    --> src/markdown.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn space1<'a>() -> impl Parser<'a, Vec<char>> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `title_level` is never used
[INFO] [stdout]    --> src/markdown.rs:299:4
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn title_level(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Title` is never constructed
[INFO] [stdout]   --> src/markdown_nom.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Title {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MdValue` is never used
[INFO] [stdout]   --> src/markdown_nom.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum MdValue {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md_title_content_dealed` is never used
[INFO] [stdout]   --> src/nom1.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn md_title_content_dealed(input: &str) -> IResult<&str, Vec<&str>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo1` is never used
[INFO] [stdout]    --> src/parse_string.rs:395:4
[INFO] [stdout]     |
[INFO] [stdout] 395 | fn demo1() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `setting` is never read
[INFO] [stdout]    --> src/sql2_render.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct TypeRender {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     setting: RenderSetting,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeRender` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod sql2_render;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:2:9
[INFO] [stdout]    |
[INFO] [stdout]  2 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:218:22
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn identifier(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                      ^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn identifier(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:281:20
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |                    ^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn any_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:214:31
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn recog_title_content(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                               ^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn recog_title_content(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:266:20
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |                    ^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn any_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:299:23
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn title_level(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                       ^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn title_level(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/markdown.rs:324:24
[INFO] [stdout]     |
[INFO] [stdout] 324 | fn title_level2(input: &str) -> ParseResult<u8> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 324 | fn title_level2(input: &str) -> ParseResult<'_, u8> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn parse_column_definition_of_null(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn parse_column_definition_of_not_null(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn identifier_char_parser(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/sql1.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum DataTypeEnum {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     TinyInt,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     SmallInt,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     Int,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     Bigint,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     VarChar(u32),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     DateTime(u32),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     Text,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     BigText,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     Decimal(u8),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/sql1.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub enum DefaultEnum {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     DefaultNone, // 没有 default 语句
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     DefaultNull,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     DefaultInt(u32),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     DefaultStr(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     DefaultCurStamp,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     DefaultAutoIncrement,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     DefaultCurStampOnUpdateCurStamp,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     DefaultOnUpdateCurStamp,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:198:1
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub fn type_int_size(input: &str) -> IResult<&str, u32> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn type_tiny_int(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:212:1
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn parse_int_auto_increment(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn parse_int_is_unsigned(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn type_some_int(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn type_collate(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:260:1
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn type_varchar(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:269:1
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn type_datetime(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn type_text(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn type_bigtext(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn type_decimal(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:305:1
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn parse_data_type(input: &str) -> IResult<&str, DataTypeEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn parse_default_int(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:319:1
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub fn parse_default_str(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:331:1
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub fn parse_comment(input: &str) -> IResult<&str, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub fn parse_default_null(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub fn parse_default_on_current_timestamp(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub fn parse_default_current_timestamp(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn parse_default(input: &str) -> IResult<&str, DefaultEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     pub name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub typ: DataTypeEnum,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub comment: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:421:1
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn parse_end_has_comma(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:428:1
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub fn parse_end_no_comma(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:437:1
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub fn parse_end_comma(input: &str) -> IResult<&str, Option<i8>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:467:1
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn parse_column_definition2(input: &str) -> IResult<&str, OneLineEnum> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:491:1
[INFO] [stdout]     |
[INFO] [stdout] 491 | pub fn parse_many_column_definition(input: &str) -> IResult<&str, Vec<OneColumn>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     Column(OneColumn),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:517:5
[INFO] [stdout]     |
[INFO] [stdout] 517 |     Index(OneIndex),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 523 |     Primary,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:524:5
[INFO] [stdout]     |
[INFO] [stdout] 524 |     Unique,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:525:5
[INFO] [stdout]     |
[INFO] [stdout] 525 |     Normal,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql1.rs:526:5
[INFO] [stdout]     |
[INFO] [stdout] 526 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql1.rs:555:1
[INFO] [stdout]     |
[INFO] [stdout] 555 | pub fn parse_idx_line(input: &str) -> IResult<&str, OneIndex> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:709:5
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub engine: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     pub charset: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 |     pub collate: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sql1.rs:712:5
[INFO] [stdout]     |
[INFO] [stdout] 712 |     pub comment: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/sql2_render.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn to_big_case_camel_helper(args: &HashMap<String, Value>) -> tera::Result<Value> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/sql2_render.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn transfer_type(typ: DataTypeEnum) -> String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/sql2_render.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn transfer_type_helper(args: &HashMap<String, Value>) -> tera::Result<Value> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/sql2_render.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/sql2_render.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub enum FieldNameStyleEnum {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql2_render.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     SmallCaseCamel,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql2_render.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     BigCaseCamel,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sql2_render.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     Underline,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.10s
[INFO] running `Command { std: "docker" "inspect" "83a3281392b9aadee82f22461d67e84dbc02206c5158594a7a2d22afe2871445", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83a3281392b9aadee82f22461d67e84dbc02206c5158594a7a2d22afe2871445", kill_on_drop: false }`
[INFO] [stdout] 83a3281392b9aadee82f22461d67e84dbc02206c5158594a7a2d22afe2871445
