[INFO] fetching crate baz-difftastic 0.53.4...
[INFO] checking baz-difftastic-0.53.4 against master#4d1bd0db7f489b22c6d8aa2385937a95412c015b for pr-114682
[INFO] extracting crate baz-difftastic 0.53.4 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate baz-difftastic 0.53.4 on toolchain 4d1bd0db7f489b22c6d8aa2385937a95412c015b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate baz-difftastic 0.53.4
[INFO] finished tweaking crates.io crate baz-difftastic 0.53.4
[INFO] tweaked toml for crates.io crate baz-difftastic 0.53.4 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate baz-difftastic 0.53.4 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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded strum_macros v0.25.1
[INFO] [stderr]   Downloaded bytecount v0.6.2
[INFO] [stderr]   Downloaded tree-sitter v0.20.9
[INFO] [stderr]   Downloaded difflib v0.4.0
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.1
[INFO] [stderr]   Downloaded normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded predicates-core v1.0.6
[INFO] [stderr]   Downloaded termtree v0.2.4
[INFO] [stderr]   Downloaded parking_lot_core v0.9.6
[INFO] [stderr]   Downloaded errno v0.3.5
[INFO] [stderr]   Downloaded os_str_bytes v6.0.1
[INFO] [stderr]   Downloaded radix-heap v0.4.2
[INFO] [stderr]   Downloaded serde v1.0.176
[INFO] [stderr]   Downloaded crossterm v0.27.0
[INFO] [stderr]   Downloaded globset v0.4.13
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.24
[INFO] [stderr]   Downloaded serde_derive v1.0.176
[INFO] [stderr]   Downloaded zerocopy v0.7.27
[INFO] [stderr]   Downloaded regex-automata v0.3.7
[INFO] [stderr]   Downloaded petgraph v0.6.1
[INFO] [stderr]   Downloaded bstr v1.6.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.7.27
[INFO] [stderr]   Downloaded is-terminal v0.4.7
[INFO] [stderr]   Downloaded ctor v0.1.22
[INFO] [stderr]   Downloaded predicates v3.0.4
[INFO] [stderr]   Downloaded const_format v0.2.23
[INFO] [stderr]   Downloaded predicates-tree v1.0.5
[INFO] [stderr]   Downloaded assert_cmd v2.0.12
[INFO] [stderr]   Downloaded indexmap v1.7.0
[INFO] [stderr]   Downloaded humansize v2.1.3
[INFO] [stderr]   Downloaded diff v0.1.12
[INFO] [stderr]   Downloaded wu-diff v0.1.2
[INFO] [stderr]   Downloaded pretty_env_logger v0.5.0
[INFO] [stderr]   Downloaded tree_magic_mini v3.0.3
[INFO] [stderr]   Downloaded mimalloc v0.1.28
[INFO] [stderr]   Downloaded const_format_proc_macros v0.2.22
[INFO] [stderr]   Downloaded line-numbers v0.3.0
[INFO] [stderr]   Downloaded fixedbitset v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1ae76d3bda1d7859c5281f521a98e0ae95f43487f8fc5f9b0a97372b9b5d98fe
[INFO] running `Command { std: "docker" "start" "-a" "1ae76d3bda1d7859c5281f521a98e0ae95f43487f8fc5f9b0a97372b9b5d98fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ae76d3bda1d7859c5281f521a98e0ae95f43487f8fc5f9b0a97372b9b5d98fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ae76d3bda1d7859c5281f521a98e0ae95f43487f8fc5f9b0a97372b9b5d98fe", kill_on_drop: false }`
[INFO] [stdout] 1ae76d3bda1d7859c5281f521a98e0ae95f43487f8fc5f9b0a97372b9b5d98fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c53e6d596ea31204798631899081a576516255f4f30e4507e7f0dadfd3cd7c61
[INFO] running `Command { std: "docker" "start" "-a" "c53e6d596ea31204798631899081a576516255f4f30e4507e7f0dadfd3cd7c61", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]     Checking aho-corasick v1.0.5
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling rustversion v1.0.12
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking regex-automata v0.3.7
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.6
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling serde v1.0.176
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking bstr v1.6.0
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.24
[INFO] [stderr]    Compiling tree-sitter v0.20.9
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking os_str_bytes v6.0.1
[INFO] [stderr]    Compiling serde_json v1.0.104
[INFO] [stderr]     Checking zerocopy v0.7.27
[INFO] [stderr]    Compiling unicode-xid v0.2.3
[INFO] [stderr]    Compiling serde_derive v1.0.176
[INFO] [stderr]     Checking fixedbitset v0.4.1
[INFO] [stderr]     Checking petgraph v0.6.1
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.22
[INFO] [stderr]     Checking clap_lex v0.2.0
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking walkdir v2.3.3
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]     Checking globset v0.4.13
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking textwrap v0.15.0
[INFO] [stderr]    Compiling baz-difftastic v0.53.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking predicates-core v1.0.6
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]     Checking bytecount v0.6.2
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking clap v3.1.18
[INFO] [stderr]     Checking tree_magic_mini v3.0.3
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking ignore v0.4.18
[INFO] [stderr]     Checking const_format v0.2.23
[INFO] [stderr]     Checking pretty_env_logger v0.5.0
[INFO] [stderr]     Checking mimalloc v0.1.28
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking bumpalo v3.11.1
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking radix-heap v0.4.2
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking anstyle v1.0.4
[INFO] [stderr]     Checking termtree v0.2.4
[INFO] [stderr]    Compiling strum_macros v0.25.1
[INFO] [stderr]     Checking line-numbers v0.3.0
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking wu-diff v0.1.2
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking predicates-tree v1.0.5
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking diff v0.1.12
[INFO] [stderr]     Checking predicates v3.0.4
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking pretty_assertions v1.3.0
[INFO] [stderr]     Checking assert_cmd v2.0.12
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stdout] warning: type `display::style::BackgroundColor` is more private than the item `DisplayOptions::background_color`
[INFO] [stdout]   --> src/options.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub background_color: BackgroundColor,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `DisplayOptions::background_color` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `display::style::BackgroundColor` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/display/style.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DisplayMode` is more private than the item `DisplayOptions::display_mode`
[INFO] [stdout]   --> src/options.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub display_mode: DisplayMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `DisplayOptions::display_mode` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `DisplayMode` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/options.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ColorOutput` is more private than the item `should_use_color`
[INFO] [stdout]    --> src/options.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn should_use_color(color_output: ColorOutput) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `should_use_color` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ColorOutput` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/options.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub(crate) enum ColorOutput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChangeMap<'a>` is more private than the item `syntax::change_positions`
[INFO] [stdout]    --> src/parse/syntax.rs:873:1
[INFO] [stdout]     |
[INFO] [stdout] 873 | / pub fn change_positions<'a>(
[INFO] [stdout] 874 | |     nodes: &[&'a Syntax<'a>],
[INFO] [stdout] 875 | |     change_map: &ChangeMap<'a>,
[INFO] [stdout] 876 | | ) -> Vec<MatchedPos> {
[INFO] [stdout]     | |____________________^ function `syntax::change_positions` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ChangeMap<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/diff/changes.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub(crate) struct ChangeMap<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NoConflict`, `Left`, `Base`, and `Right` are never constructed
[INFO] [stdout]   --> src/conflicts.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum ConflictState {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] 9  |     NoConflict,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Base,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConflictState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_LHS_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) const START_LHS_MARKER: &str = "<<<<<<<";
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_BASE_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const START_BASE_MARKER: &str = "|||||||";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_RHS_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const START_RHS_MARKER: &str = "=======";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_RHS_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const END_RHS_MARKER: &str = ">>>>>>>";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConflictFiles` is never constructed
[INFO] [stdout]   --> src/conflicts.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct ConflictFiles {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_conflict_markers` is never used
[INFO] [stdout]   --> src/conflicts.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) fn apply_conflict_markers(s: &str) -> Result<ConflictFiles, String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/display/inline.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn print(
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory` is never used
[INFO] [stdout]    --> src/display/json.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub(crate) fn print_directory(diffs: Vec<DiffResult>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/display/json.rs:284:15
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub(crate) fn print(diff: &DiffResult) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPACER` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const SPACER: &str = " ";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_line_num_padded` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn format_line_num_padded(line_num: LineNumber, column_width: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_missing_line_num` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn format_missing_line_num(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_single_column` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn display_single_column(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_line_nums` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn display_line_nums(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_width`, `lhs_line_nums_width`, `rhs_line_nums_width`, `lhs_max_line`, and `rhs_max_line` are never read
[INFO] [stdout]    --> src/display/side_by_side.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct SourceDimensions {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     content_width: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     lhs_line_nums_width: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     rhs_line_nums_width: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 162 |     /// The highest line number in the LHS source.
[INFO] [stdout] 163 |     lhs_max_line: LineNumber,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 164 |     /// The highest line number in the RHS source.
[INFO] [stdout] 165 |     rhs_max_line: LineNumber,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SourceDimensions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl SourceDimensions {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 169 |     fn new(terminal_width: usize, line_nums: &[(Option<LineNumber>, Option<LineNumber>)]) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_positions` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:239:4
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn highlight_positions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_as_novel` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn highlight_as_novel(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:305:15
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub(crate) fn print(
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Light` is never constructed
[INFO] [stdout]   --> src/display/style.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    |                 --------------- variant in this enum
[INFO] [stdout] 22 |     Dark,
[INFO] [stdout] 23 |     Light,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_dark` is never used
[INFO] [stdout]   --> src/display/style.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BackgroundColor {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 27 |     pub(crate) fn is_dark(self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_offset_for_width` is never used
[INFO] [stdout]   --> src/display/style.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn byte_offset_for_width(s: &str, width: usize, tab_width: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substring_by_byte` is never used
[INFO] [stdout]   --> src/display/style.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn substring_by_byte(s: &str, start: usize, end: usize) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substring_by_byte_replace_tabs` is never used
[INFO] [stdout]   --> src/display/style.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn substring_by_byte_replace_tabs(s: &str, start: usize, end: usize, tab_width: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `width_respecting_tabs` is never used
[INFO] [stdout]   --> src/display/style.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn width_respecting_tabs(s: &str, tab_width: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_string_by_width` is never used
[INFO] [stdout]   --> src/display/style.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn split_string_by_width(s: &str, max_width: usize, tab_width: usize) -> Vec<(&str, usize)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_tabs` is never used
[INFO] [stdout]    --> src/display/style.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(crate) fn replace_tabs(src: &str, tab_width: usize) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_and_apply` is never used
[INFO] [stdout]    --> src/display/style.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) fn split_and_apply(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_line` is never used
[INFO] [stdout]    --> src/display/style.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn apply_line(line: &str, styles: &[(SingleLineSpan, Style)]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `group_by_line` is never used
[INFO] [stdout]    --> src/display/style.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn group_by_line(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `style_lines` is never used
[INFO] [stdout]    --> src/display/style.rs:283:4
[INFO] [stdout]     |
[INFO] [stdout] 283 | fn style_lines(lines: &[&str], styles: &[(SingleLineSpan, Style)]) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `novel_style` is never used
[INFO] [stdout]    --> src/display/style.rs:300:15
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) fn novel_style(style: Style, side: Side, background: BackgroundColor) -> Style {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `color_positions` is never used
[INFO] [stdout]    --> src/display/style.rs:314:15
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) fn color_positions(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_colors` is never used
[INFO] [stdout]    --> src/display/style.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub(crate) fn apply_colors(
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_header_color` is never used
[INFO] [stdout]    --> src/display/style.rs:408:4
[INFO] [stdout]     |
[INFO] [stdout] 408 | fn apply_header_color(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_line_number_color` is never used
[INFO] [stdout]    --> src/display/style.rs:429:15
[INFO] [stdout]     |
[INFO] [stdout] 429 | pub(crate) fn apply_line_number_color(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `header` is never used
[INFO] [stdout]    --> src/display/style.rs:457:15
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub(crate) fn header(
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_SUCCESS` is never used
[INFO] [stdout]  --> src/exit_codes.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) const EXIT_SUCCESS: i32 = 0;
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_FOUND_CHANGES` is never used
[INFO] [stdout]  --> src/exit_codes.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) const EXIT_FOUND_CHANGES: i32 = 1;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_or_die` is never used
[INFO] [stdout]    --> src/files.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) fn read_or_die(path: &Path) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_line_num` is never used
[INFO] [stdout]  --> src/lines.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) fn format_line_num(line_num: LineNumber) -> String {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_len` is never used
[INFO] [stdout]   --> src/lines.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) fn byte_len(s: &str) -> usize {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TAB_WIDTH` is never used
[INFO] [stdout]   --> src/options.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) const DEFAULT_TAB_WIDTH: usize = 8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Always`, `Auto`, and `Never` are never constructed
[INFO] [stdout]   --> src/options.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) enum ColorOutput {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 24 |     Always,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Auto,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     Never,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColorOutput` 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: variants `Inline`, `SideBySideShowBoth`, and `Json` are never constructed
[INFO] [stdout]   --> src/options.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 84 |     Inline,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     SideBySide,
[INFO] [stdout] 86 |     SideBySideShowBoth,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DisplayMode` 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: associated functions `from_cli_argument` and `from_path_argument` are never used
[INFO] [stdout]    --> src/options.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl FileArgument {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn from_cli_argument(arg: &OsStr) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub(crate) fn from_path_argument(arg: &OsStr) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/options.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum Mode {
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `looks_like_hacklang` is never used
[INFO] [stdout]    --> src/parse/guess_language.rs:380:4
[INFO] [stdout]     |
[INFO] [stdout] 380 | fn looks_like_hacklang(path: &Path, src: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OCAML_ATOM_NODES` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const OCAML_ATOM_NODES: [&str; 6] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tree` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1237:15
[INFO] [stdout]      |
[INFO] [stdout] 1237 | pub(crate) fn print_tree(src: &str, tree: &tree_sitter::Tree) {
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_cursor` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1242:4
[INFO] [stdout]      |
[INFO] [stdout] 1242 | fn print_cursor(src: &str, cursor: &mut ts::TreeCursor, depth: usize) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1377:15
[INFO] [stdout]      |
[INFO] [stdout] 1377 | pub(crate) fn parse<'a>(
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ada` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn tree_sitter_ada() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_clojure` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn tree_sitter_clojure() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_commonlisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn tree_sitter_commonlisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_dart` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn tree_sitter_dart() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn tree_sitter_elisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elixir` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn tree_sitter_elixir() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elm` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn tree_sitter_elm() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elvish` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn tree_sitter_elvish() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_erlang` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn tree_sitter_erlang() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_gleam` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn tree_sitter_gleam() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hare` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn tree_sitter_hare() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hack` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn tree_sitter_hack() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_haskell` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn tree_sitter_haskell() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_janet_simple` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn tree_sitter_janet_simple() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_julia` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn tree_sitter_julia() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_latex` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn tree_sitter_latex() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_lua` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn tree_sitter_lua() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_newick` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn tree_sitter_newick() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn tree_sitter_ocaml() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml_interface` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn tree_sitter_ocaml_interface() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_pascal` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn tree_sitter_pascal() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_perl` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn tree_sitter_perl() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_qmljs` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn tree_sitter_qmljs() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_racket` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn tree_sitter_racket() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_solidity` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn tree_sitter_solidity() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_swift` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn tree_sitter_swift() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_zig` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn tree_sitter_zig() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 84 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `display::style::BackgroundColor` is more private than the item `options::DisplayOptions::background_color`
[INFO] [stdout]   --> src/options.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub background_color: BackgroundColor,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `options::DisplayOptions::background_color` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `display::style::BackgroundColor` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/display/style.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DisplayMode` is more private than the item `options::DisplayOptions::display_mode`
[INFO] [stdout]   --> src/options.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub display_mode: DisplayMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `options::DisplayOptions::display_mode` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `DisplayMode` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/options.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ColorOutput` is more private than the item `should_use_color`
[INFO] [stdout]    --> src/options.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn should_use_color(color_output: ColorOutput) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `should_use_color` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ColorOutput` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/options.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub(crate) enum ColorOutput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `changes::ChangeMap<'a>` is more private than the item `syntax::change_positions`
[INFO] [stdout]    --> src/parse/syntax.rs:873:1
[INFO] [stdout]     |
[INFO] [stdout] 873 | / pub fn change_positions<'a>(
[INFO] [stdout] 874 | |     nodes: &[&'a Syntax<'a>],
[INFO] [stdout] 875 | |     change_map: &ChangeMap<'a>,
[INFO] [stdout] 876 | | ) -> Vec<MatchedPos> {
[INFO] [stdout]     | |____________________^ function `syntax::change_positions` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `changes::ChangeMap<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/diff/changes.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub(crate) struct ChangeMap<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_conflicts` is never read
[INFO] [stdout]   --> src/conflicts.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct ConflictFiles {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub(crate) num_conflicts: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/display/inline.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn print(
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory` is never used
[INFO] [stdout]    --> src/display/json.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub(crate) fn print_directory(diffs: Vec<DiffResult>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/display/json.rs:284:15
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub(crate) fn print(diff: &DiffResult) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Light` is never constructed
[INFO] [stdout]   --> src/display/style.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    |                 --------------- variant in this enum
[INFO] [stdout] 22 |     Dark,
[INFO] [stdout] 23 |     Light,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_SUCCESS` is never used
[INFO] [stdout]  --> src/exit_codes.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) const EXIT_SUCCESS: i32 = 0;
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_FOUND_CHANGES` is never used
[INFO] [stdout]  --> src/exit_codes.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) const EXIT_FOUND_CHANGES: i32 = 1;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_or_die` is never used
[INFO] [stdout]    --> src/files.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) fn read_or_die(path: &Path) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TAB_WIDTH` is never used
[INFO] [stdout]   --> src/options.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) const DEFAULT_TAB_WIDTH: usize = 8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Always`, `Auto`, and `Never` are never constructed
[INFO] [stdout]   --> src/options.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) enum ColorOutput {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 24 |     Always,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Auto,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     Never,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColorOutput` 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: variants `Inline`, `SideBySideShowBoth`, and `Json` are never constructed
[INFO] [stdout]   --> src/options.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 84 |     Inline,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     SideBySide,
[INFO] [stdout] 86 |     SideBySideShowBoth,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DisplayMode` 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: associated function `from_cli_argument` is never used
[INFO] [stdout]    --> src/options.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl FileArgument {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn from_cli_argument(arg: &OsStr) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/options.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum Mode {
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `looks_like_hacklang` is never used
[INFO] [stdout]    --> src/parse/guess_language.rs:380:4
[INFO] [stdout]     |
[INFO] [stdout] 380 | fn looks_like_hacklang(path: &Path, src: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OCAML_ATOM_NODES` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const OCAML_ATOM_NODES: [&str; 6] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tree` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1237:15
[INFO] [stdout]      |
[INFO] [stdout] 1237 | pub(crate) fn print_tree(src: &str, tree: &tree_sitter::Tree) {
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_cursor` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1242:4
[INFO] [stdout]      |
[INFO] [stdout] 1242 | fn print_cursor(src: &str, cursor: &mut ts::TreeCursor, depth: usize) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ada` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn tree_sitter_ada() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_clojure` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn tree_sitter_clojure() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_commonlisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn tree_sitter_commonlisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_dart` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn tree_sitter_dart() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn tree_sitter_elisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elixir` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn tree_sitter_elixir() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elm` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn tree_sitter_elm() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elvish` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn tree_sitter_elvish() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_erlang` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn tree_sitter_erlang() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_gleam` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn tree_sitter_gleam() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hare` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn tree_sitter_hare() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hack` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn tree_sitter_hack() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_haskell` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn tree_sitter_haskell() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_janet_simple` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn tree_sitter_janet_simple() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_julia` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn tree_sitter_julia() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_latex` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn tree_sitter_latex() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_lua` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn tree_sitter_lua() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_newick` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn tree_sitter_newick() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn tree_sitter_ocaml() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml_interface` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn tree_sitter_ocaml_interface() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_pascal` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn tree_sitter_pascal() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_perl` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn tree_sitter_perl() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_qmljs` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn tree_sitter_qmljs() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_racket` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn tree_sitter_racket() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_solidity` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn tree_sitter_solidity() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_swift` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn tree_sitter_swift() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_zig` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn tree_sitter_zig() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 14.68s
[INFO] running `Command { std: "docker" "inspect" "c53e6d596ea31204798631899081a576516255f4f30e4507e7f0dadfd3cd7c61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c53e6d596ea31204798631899081a576516255f4f30e4507e7f0dadfd3cd7c61", kill_on_drop: false }`
[INFO] [stdout] c53e6d596ea31204798631899081a576516255f4f30e4507e7f0dadfd3cd7c61
[INFO] checking baz-difftastic-0.53.4 against try#785364c7e5e0804473a3fddfb579798ea14e3493 for pr-114682
[INFO] extracting crate baz-difftastic 0.53.4 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate baz-difftastic 0.53.4 on toolchain 785364c7e5e0804473a3fddfb579798ea14e3493
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate baz-difftastic 0.53.4
[INFO] finished tweaking crates.io crate baz-difftastic 0.53.4
[INFO] tweaked toml for crates.io crate baz-difftastic 0.53.4 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate crates.io crate baz-difftastic 0.53.4 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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ef259118edadf5af2a524b6e0c0bbb906d82494f032fe17d9f9418fe21e1fea
[INFO] running `Command { std: "docker" "start" "-a" "7ef259118edadf5af2a524b6e0c0bbb906d82494f032fe17d9f9418fe21e1fea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ef259118edadf5af2a524b6e0c0bbb906d82494f032fe17d9f9418fe21e1fea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ef259118edadf5af2a524b6e0c0bbb906d82494f032fe17d9f9418fe21e1fea", kill_on_drop: false }`
[INFO] [stdout] 7ef259118edadf5af2a524b6e0c0bbb906d82494f032fe17d9f9418fe21e1fea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dd0755db2cf28e3fdd183a11e002362f185454d4b2df2a4e89bde1d151f489b0
[INFO] running `Command { std: "docker" "start" "-a" "dd0755db2cf28e3fdd183a11e002362f185454d4b2df2a4e89bde1d151f489b0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]     Checking aho-corasick v1.0.5
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]     Checking regex-automata v0.3.7
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.6
[INFO] [stderr]    Compiling rustversion v1.0.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling serde v1.0.176
[INFO] [stderr]     Checking bstr v1.6.0
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.24
[INFO] [stderr]    Compiling tree-sitter v0.20.9
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling unicode-xid v0.2.3
[INFO] [stderr]    Compiling serde_json v1.0.104
[INFO] [stderr]     Checking os_str_bytes v6.0.1
[INFO] [stderr]     Checking fixedbitset v0.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.176
[INFO] [stderr]     Checking zerocopy v0.7.27
[INFO] [stderr]     Checking petgraph v0.6.1
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking clap_lex v0.2.0
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.22
[INFO] [stderr]     Checking walkdir v2.3.3
[INFO] [stderr]     Checking globset v0.4.13
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking textwrap v0.15.0
[INFO] [stderr]    Compiling baz-difftastic v0.53.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking predicates-core v1.0.6
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]     Checking bytecount v0.6.2
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking tree_magic_mini v3.0.3
[INFO] [stderr]     Checking clap v3.1.18
[INFO] [stderr]     Checking const_format v0.2.23
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking ignore v0.4.18
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking pretty_env_logger v0.5.0
[INFO] [stderr]     Checking mimalloc v0.1.28
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking wu-diff v0.1.2
[INFO] [stderr]     Checking bumpalo v3.11.1
[INFO] [stderr]     Checking radix-heap v0.4.2
[INFO] [stderr]     Checking line-numbers v0.3.0
[INFO] [stderr]     Checking anstyle v1.0.4
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling strum_macros v0.25.1
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking termtree v0.2.4
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking predicates-tree v1.0.5
[INFO] [stderr]     Checking predicates v3.0.4
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking diff v0.1.12
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking assert_cmd v2.0.12
[INFO] [stderr]     Checking pretty_assertions v1.3.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stdout] warning: type `display::style::BackgroundColor` is more private than the item `DisplayOptions::background_color`
[INFO] [stdout]   --> src/options.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub background_color: BackgroundColor,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `DisplayOptions::background_color` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `display::style::BackgroundColor` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/display/style.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DisplayMode` is more private than the item `DisplayOptions::display_mode`
[INFO] [stdout]   --> src/options.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub display_mode: DisplayMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `DisplayOptions::display_mode` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `DisplayMode` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/options.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ColorOutput` is more private than the item `should_use_color`
[INFO] [stdout]    --> src/options.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn should_use_color(color_output: ColorOutput) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `should_use_color` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ColorOutput` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/options.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub(crate) enum ColorOutput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChangeMap<'a>` is more private than the item `syntax::change_positions`
[INFO] [stdout]    --> src/parse/syntax.rs:873:1
[INFO] [stdout]     |
[INFO] [stdout] 873 | / pub fn change_positions<'a>(
[INFO] [stdout] 874 | |     nodes: &[&'a Syntax<'a>],
[INFO] [stdout] 875 | |     change_map: &ChangeMap<'a>,
[INFO] [stdout] 876 | | ) -> Vec<MatchedPos> {
[INFO] [stdout]     | |____________________^ function `syntax::change_positions` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ChangeMap<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/diff/changes.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub(crate) struct ChangeMap<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NoConflict`, `Left`, `Base`, and `Right` are never constructed
[INFO] [stdout]   --> src/conflicts.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum ConflictState {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] 9  |     NoConflict,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Base,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConflictState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_LHS_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) const START_LHS_MARKER: &str = "<<<<<<<";
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_BASE_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const START_BASE_MARKER: &str = "|||||||";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_RHS_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const START_RHS_MARKER: &str = "=======";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_RHS_MARKER` is never used
[INFO] [stdout]   --> src/conflicts.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const END_RHS_MARKER: &str = ">>>>>>>";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConflictFiles` is never constructed
[INFO] [stdout]   --> src/conflicts.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct ConflictFiles {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_conflict_markers` is never used
[INFO] [stdout]   --> src/conflicts.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) fn apply_conflict_markers(s: &str) -> Result<ConflictFiles, String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/display/inline.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn print(
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory` is never used
[INFO] [stdout]    --> src/display/json.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub(crate) fn print_directory(diffs: Vec<DiffResult>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/display/json.rs:284:15
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub(crate) fn print(diff: &DiffResult) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPACER` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const SPACER: &str = " ";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_line_num_padded` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn format_line_num_padded(line_num: LineNumber, column_width: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_missing_line_num` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn format_missing_line_num(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_single_column` is never used
[INFO] [stdout]   --> src/display/side_by_side.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn display_single_column(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_line_nums` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn display_line_nums(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_width`, `lhs_line_nums_width`, `rhs_line_nums_width`, `lhs_max_line`, and `rhs_max_line` are never read
[INFO] [stdout]    --> src/display/side_by_side.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct SourceDimensions {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     content_width: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     lhs_line_nums_width: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     rhs_line_nums_width: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 162 |     /// The highest line number in the LHS source.
[INFO] [stdout] 163 |     lhs_max_line: LineNumber,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 164 |     /// The highest line number in the RHS source.
[INFO] [stdout] 165 |     rhs_max_line: LineNumber,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SourceDimensions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl SourceDimensions {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 169 |     fn new(terminal_width: usize, line_nums: &[(Option<LineNumber>, Option<LineNumber>)]) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_positions` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:239:4
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn highlight_positions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_as_novel` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn highlight_as_novel(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/display/side_by_side.rs:305:15
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub(crate) fn print(
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Light` is never constructed
[INFO] [stdout]   --> src/display/style.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    |                 --------------- variant in this enum
[INFO] [stdout] 22 |     Dark,
[INFO] [stdout] 23 |     Light,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_dark` is never used
[INFO] [stdout]   --> src/display/style.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BackgroundColor {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 27 |     pub(crate) fn is_dark(self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_offset_for_width` is never used
[INFO] [stdout]   --> src/display/style.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn byte_offset_for_width(s: &str, width: usize, tab_width: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substring_by_byte` is never used
[INFO] [stdout]   --> src/display/style.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn substring_by_byte(s: &str, start: usize, end: usize) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substring_by_byte_replace_tabs` is never used
[INFO] [stdout]   --> src/display/style.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn substring_by_byte_replace_tabs(s: &str, start: usize, end: usize, tab_width: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `width_respecting_tabs` is never used
[INFO] [stdout]   --> src/display/style.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn width_respecting_tabs(s: &str, tab_width: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_string_by_width` is never used
[INFO] [stdout]   --> src/display/style.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn split_string_by_width(s: &str, max_width: usize, tab_width: usize) -> Vec<(&str, usize)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_tabs` is never used
[INFO] [stdout]    --> src/display/style.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(crate) fn replace_tabs(src: &str, tab_width: usize) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_and_apply` is never used
[INFO] [stdout]    --> src/display/style.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) fn split_and_apply(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_line` is never used
[INFO] [stdout]    --> src/display/style.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn apply_line(line: &str, styles: &[(SingleLineSpan, Style)]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `group_by_line` is never used
[INFO] [stdout]    --> src/display/style.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn group_by_line(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `style_lines` is never used
[INFO] [stdout]    --> src/display/style.rs:283:4
[INFO] [stdout]     |
[INFO] [stdout] 283 | fn style_lines(lines: &[&str], styles: &[(SingleLineSpan, Style)]) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `novel_style` is never used
[INFO] [stdout]    --> src/display/style.rs:300:15
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) fn novel_style(style: Style, side: Side, background: BackgroundColor) -> Style {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `color_positions` is never used
[INFO] [stdout]    --> src/display/style.rs:314:15
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) fn color_positions(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_colors` is never used
[INFO] [stdout]    --> src/display/style.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub(crate) fn apply_colors(
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_header_color` is never used
[INFO] [stdout]    --> src/display/style.rs:408:4
[INFO] [stdout]     |
[INFO] [stdout] 408 | fn apply_header_color(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_line_number_color` is never used
[INFO] [stdout]    --> src/display/style.rs:429:15
[INFO] [stdout]     |
[INFO] [stdout] 429 | pub(crate) fn apply_line_number_color(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `header` is never used
[INFO] [stdout]    --> src/display/style.rs:457:15
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub(crate) fn header(
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_SUCCESS` is never used
[INFO] [stdout]  --> src/exit_codes.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) const EXIT_SUCCESS: i32 = 0;
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_FOUND_CHANGES` is never used
[INFO] [stdout]  --> src/exit_codes.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) const EXIT_FOUND_CHANGES: i32 = 1;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_or_die` is never used
[INFO] [stdout]    --> src/files.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) fn read_or_die(path: &Path) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_line_num` is never used
[INFO] [stdout]  --> src/lines.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) fn format_line_num(line_num: LineNumber) -> String {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_len` is never used
[INFO] [stdout]   --> src/lines.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) fn byte_len(s: &str) -> usize {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TAB_WIDTH` is never used
[INFO] [stdout]   --> src/options.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) const DEFAULT_TAB_WIDTH: usize = 8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Always`, `Auto`, and `Never` are never constructed
[INFO] [stdout]   --> src/options.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) enum ColorOutput {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 24 |     Always,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Auto,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     Never,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColorOutput` 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: variants `Inline`, `SideBySideShowBoth`, and `Json` are never constructed
[INFO] [stdout]   --> src/options.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 84 |     Inline,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     SideBySide,
[INFO] [stdout] 86 |     SideBySideShowBoth,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DisplayMode` 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: associated functions `from_cli_argument` and `from_path_argument` are never used
[INFO] [stdout]    --> src/options.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl FileArgument {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn from_cli_argument(arg: &OsStr) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub(crate) fn from_path_argument(arg: &OsStr) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/options.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum Mode {
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `looks_like_hacklang` is never used
[INFO] [stdout]    --> src/parse/guess_language.rs:380:4
[INFO] [stdout]     |
[INFO] [stdout] 380 | fn looks_like_hacklang(path: &Path, src: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OCAML_ATOM_NODES` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const OCAML_ATOM_NODES: [&str; 6] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tree` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1237:15
[INFO] [stdout]      |
[INFO] [stdout] 1237 | pub(crate) fn print_tree(src: &str, tree: &tree_sitter::Tree) {
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_cursor` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1242:4
[INFO] [stdout]      |
[INFO] [stdout] 1242 | fn print_cursor(src: &str, cursor: &mut ts::TreeCursor, depth: usize) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1377:15
[INFO] [stdout]      |
[INFO] [stdout] 1377 | pub(crate) fn parse<'a>(
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ada` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn tree_sitter_ada() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_clojure` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn tree_sitter_clojure() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_commonlisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn tree_sitter_commonlisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_dart` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn tree_sitter_dart() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn tree_sitter_elisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elixir` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn tree_sitter_elixir() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elm` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn tree_sitter_elm() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elvish` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn tree_sitter_elvish() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_erlang` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn tree_sitter_erlang() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_gleam` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn tree_sitter_gleam() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hare` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn tree_sitter_hare() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hack` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn tree_sitter_hack() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_haskell` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn tree_sitter_haskell() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_janet_simple` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn tree_sitter_janet_simple() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_julia` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn tree_sitter_julia() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_latex` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn tree_sitter_latex() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_lua` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn tree_sitter_lua() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_newick` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn tree_sitter_newick() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn tree_sitter_ocaml() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml_interface` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn tree_sitter_ocaml_interface() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_pascal` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn tree_sitter_pascal() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_perl` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn tree_sitter_perl() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_qmljs` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn tree_sitter_qmljs() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_racket` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn tree_sitter_racket() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_solidity` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn tree_sitter_solidity() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_swift` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn tree_sitter_swift() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_zig` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn tree_sitter_zig() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 84 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `display::style::BackgroundColor` is more private than the item `options::DisplayOptions::background_color`
[INFO] [stdout]   --> src/options.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub background_color: BackgroundColor,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `options::DisplayOptions::background_color` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `display::style::BackgroundColor` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/display/style.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DisplayMode` is more private than the item `options::DisplayOptions::display_mode`
[INFO] [stdout]   --> src/options.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub display_mode: DisplayMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `options::DisplayOptions::display_mode` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `DisplayMode` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/options.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ColorOutput` is more private than the item `should_use_color`
[INFO] [stdout]    --> src/options.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn should_use_color(color_output: ColorOutput) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `should_use_color` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ColorOutput` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/options.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub(crate) enum ColorOutput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `changes::ChangeMap<'a>` is more private than the item `syntax::change_positions`
[INFO] [stdout]    --> src/parse/syntax.rs:873:1
[INFO] [stdout]     |
[INFO] [stdout] 873 | / pub fn change_positions<'a>(
[INFO] [stdout] 874 | |     nodes: &[&'a Syntax<'a>],
[INFO] [stdout] 875 | |     change_map: &ChangeMap<'a>,
[INFO] [stdout] 876 | | ) -> Vec<MatchedPos> {
[INFO] [stdout]     | |____________________^ function `syntax::change_positions` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `changes::ChangeMap<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/diff/changes.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub(crate) struct ChangeMap<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_conflicts` is never read
[INFO] [stdout]   --> src/conflicts.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct ConflictFiles {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub(crate) num_conflicts: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/display/inline.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn print(
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory` is never used
[INFO] [stdout]    --> src/display/json.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub(crate) fn print_directory(diffs: Vec<DiffResult>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/display/json.rs:284:15
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub(crate) fn print(diff: &DiffResult) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Light` is never constructed
[INFO] [stdout]   --> src/display/style.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum BackgroundColor {
[INFO] [stdout]    |                 --------------- variant in this enum
[INFO] [stdout] 22 |     Dark,
[INFO] [stdout] 23 |     Light,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_SUCCESS` is never used
[INFO] [stdout]  --> src/exit_codes.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) const EXIT_SUCCESS: i32 = 0;
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXIT_FOUND_CHANGES` is never used
[INFO] [stdout]  --> src/exit_codes.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) const EXIT_FOUND_CHANGES: i32 = 1;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_or_die` is never used
[INFO] [stdout]    --> src/files.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) fn read_or_die(path: &Path) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TAB_WIDTH` is never used
[INFO] [stdout]   --> src/options.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) const DEFAULT_TAB_WIDTH: usize = 8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Always`, `Auto`, and `Never` are never constructed
[INFO] [stdout]   --> src/options.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) enum ColorOutput {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 24 |     Always,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Auto,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     Never,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColorOutput` 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: variants `Inline`, `SideBySideShowBoth`, and `Json` are never constructed
[INFO] [stdout]   --> src/options.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) enum DisplayMode {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 84 |     Inline,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     SideBySide,
[INFO] [stdout] 86 |     SideBySideShowBoth,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DisplayMode` 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: associated function `from_cli_argument` is never used
[INFO] [stdout]    --> src/options.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl FileArgument {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn from_cli_argument(arg: &OsStr) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/options.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum Mode {
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `looks_like_hacklang` is never used
[INFO] [stdout]    --> src/parse/guess_language.rs:380:4
[INFO] [stdout]     |
[INFO] [stdout] 380 | fn looks_like_hacklang(path: &Path, src: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OCAML_ATOM_NODES` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const OCAML_ATOM_NODES: [&str; 6] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tree` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1237:15
[INFO] [stdout]      |
[INFO] [stdout] 1237 | pub(crate) fn print_tree(src: &str, tree: &tree_sitter::Tree) {
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_cursor` is never used
[INFO] [stdout]     --> src/parse/tree_sitter_parser.rs:1242:4
[INFO] [stdout]      |
[INFO] [stdout] 1242 | fn print_cursor(src: &str, cursor: &mut ts::TreeCursor, depth: usize) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ada` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn tree_sitter_ada() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_clojure` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn tree_sitter_clojure() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_commonlisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn tree_sitter_commonlisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_dart` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn tree_sitter_dart() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elisp` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn tree_sitter_elisp() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elixir` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn tree_sitter_elixir() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elm` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn tree_sitter_elm() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_elvish` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn tree_sitter_elvish() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_erlang` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn tree_sitter_erlang() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_gleam` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn tree_sitter_gleam() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hare` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn tree_sitter_hare() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_hack` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn tree_sitter_hack() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_haskell` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn tree_sitter_haskell() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_janet_simple` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn tree_sitter_janet_simple() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_julia` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn tree_sitter_julia() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_latex` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn tree_sitter_latex() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_lua` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn tree_sitter_lua() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_newick` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn tree_sitter_newick() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn tree_sitter_ocaml() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_ocaml_interface` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn tree_sitter_ocaml_interface() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_pascal` is never used
[INFO] [stdout]   --> src/parse/tree_sitter_parser.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn tree_sitter_pascal() -> ts::Language;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_perl` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn tree_sitter_perl() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_qmljs` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn tree_sitter_qmljs() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_racket` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn tree_sitter_racket() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_solidity` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn tree_sitter_solidity() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_swift` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn tree_sitter_swift() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_sitter_zig` is never used
[INFO] [stdout]    --> src/parse/tree_sitter_parser.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn tree_sitter_zig() -> ts::Language;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 18.52s
[INFO] running `Command { std: "docker" "inspect" "dd0755db2cf28e3fdd183a11e002362f185454d4b2df2a4e89bde1d151f489b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd0755db2cf28e3fdd183a11e002362f185454d4b2df2a4e89bde1d151f489b0", kill_on_drop: false }`
[INFO] [stdout] dd0755db2cf28e3fdd183a11e002362f185454d4b2df2a4e89bde1d151f489b0
