[INFO] cloning repository https://github.com/mith-mmk/FontReader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mith-mmk/FontReader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmith-mmk%2FFontReader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmith-mmk%2FFontReader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9df7079e3800abb58d973131404de27b574e86ac
[INFO] checking mith-mmk/FontReader against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmith-mmk%2FFontReader" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mith-mmk/FontReader on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/mith-mmk/FontReader
[INFO] finished tweaking git repo https://github.com/mith-mmk/FontReader
[INFO] tweaked toml for git repo https://github.com/mith-mmk/FontReader written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/mith-mmk/FontReader 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-derive v0.4.0
[INFO] [stderr]   Downloaded syn v2.0.31
[INFO] [stderr]   Downloaded dyn_buf v0.1.0
[INFO] [stderr]   Downloaded iconv v0.1.1
[INFO] [stderr]   Downloaded bin-rs v0.0.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 95575eada39c15647cbed8cd40ec25ae75a91234f884c5f4b8aadf02b188d6fa
[INFO] running `Command { std: "docker" "start" "-a" "95575eada39c15647cbed8cd40ec25ae75a91234f884c5f4b8aadf02b188d6fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "95575eada39c15647cbed8cd40ec25ae75a91234f884c5f4b8aadf02b188d6fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95575eada39c15647cbed8cd40ec25ae75a91234f884c5f4b8aadf02b188d6fa", kill_on_drop: false }`
[INFO] [stdout] 95575eada39c15647cbed8cd40ec25ae75a91234f884c5f4b8aadf02b188d6fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2ea05c42bffe40224bd4179bbb4fd3ffd05c639a9c9c193c637544d75eeee811
[INFO] running `Command { std: "docker" "start" "-a" "2ea05c42bffe40224bd4179bbb4fd3ffd05c639a9c9c193c637544d75eeee811", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]     Checking bin-rs v0.0.9
[INFO] [stderr]     Checking base64 v0.21.4
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.31
[INFO] [stderr]    Compiling num-derive v0.4.0
[INFO] [stderr]     Checking fontloader v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::opentype::extentions::gdef`
[INFO] [stdout]   --> src/fontreader.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::opentype::extentions::gdef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::opentype::extentions::gdef`
[INFO] [stdout]   --> src/fontreader.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::opentype::extentions::gdef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subtable`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 for subtable in lookup.subtables.iter() {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subtable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glyph_id`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glyph_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subtable`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 for subtable in lookup.subtables.iter() {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subtable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glyph_id`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glyph_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1015:16
[INFO] [stdout]      |
[INFO] [stdout] 1009 | pub struct HorizontalLayout {
[INFO] [stdout]      |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1015 |     pub(crate) hhea: HHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HorizontalLayout` 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: field `vhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1025:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub struct VerticalLayout {
[INFO] [stdout]      |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1025 |     pub(crate) vhea: VHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VerticalLayout` 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: function `font_debug` is never used
[INFO] [stdout]     --> src/fontreader.rs:1042:4
[INFO] [stdout]      |
[INFO] [stdout] 1042 | fn font_debug(_font: &Font) {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/opentype/requires/cmap.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl CMAP {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 21 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cmap` is never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) struct CmapEncodings {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 158 |     pub(crate) cmap: Box<CMAP>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapEncodings` 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: method `get_encoding_engine` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl CmapEncodings {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub(crate) fn get_encoding_engine(&self) -> Box<Vec<EncodingRecord>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FormatUnknown` is never constructed
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub(crate) enum CmapSubtable {
[INFO] [stdout]     |                 ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 368 |     FormatUnknown,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubtable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1015:16
[INFO] [stdout]      |
[INFO] [stdout] 1009 | pub struct HorizontalLayout {
[INFO] [stdout]      |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1015 |     pub(crate) hhea: HHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HorizontalLayout` 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: fields `sub_headers` and `glyph_id_array` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:620:16
[INFO] [stdout]     |
[INFO] [stdout] 615 | pub(crate) struct CmapHighByteEncoding {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 620 |     pub(crate) sub_headers: Vec<CmapSubheader>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 621 |     pub(crate) glyph_id_array: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapHighByteEncoding` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1025:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub struct VerticalLayout {
[INFO] [stdout]      |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1025 |     pub(crate) vhea: VHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VerticalLayout` 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: function `font_debug` is never used
[INFO] [stdout]     --> src/fontreader.rs:1042:4
[INFO] [stdout]      |
[INFO] [stdout] 1042 | fn font_debug(_font: &Font) {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `first_code`, `entry_count`, `id_delta`, and `id_range_offset` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:626:16
[INFO] [stdout]     |
[INFO] [stdout] 625 | pub(crate) struct CmapSubheader {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 626 |     pub(crate) first_code: u16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 627 |     pub(crate) entry_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 628 |     pub(crate) id_delta: i16,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 629 |     pub(crate) id_range_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubheader` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/requires/cmap.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl CMAP {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 21 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `records`, `uvs`, and `substitute` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:871:16
[INFO] [stdout]     |
[INFO] [stdout] 870 | pub(crate) struct EncodingRecordPriority {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 871 |     pub(crate) records: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 872 |     pub(crate) uvs: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 873 |     pub(crate) substitute: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EncodingRecordPriority` 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: function `select_encoding` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:876:15
[INFO] [stdout]     |
[INFO] [stdout] 876 | pub(crate) fn select_encoding(encoding_records: &Vec<EncodingRecord>) -> EncodingRecordPriority {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cmap` is never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) struct CmapEncodings {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 158 |     pub(crate) cmap: Box<CMAP>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapEncodings` 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: variant `WindowsLegcy` is never constructed
[INFO] [stdout]   --> src/opentype/requires/name.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum EncodingEngine {
[INFO] [stdout]    |      -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 85 |     WindowsLegcy,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_encoding_engine` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl CmapEncodings {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub(crate) fn get_encoding_engine(&self) -> Box<Vec<EncodingRecord>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FormatUnknown` is never constructed
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub(crate) enum CmapSubtable {
[INFO] [stdout]     |                 ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 368 |     FormatUnknown,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubtable` 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: fields `storage_offset` and `lang_tag_records` are never read
[INFO] [stdout]    --> src/opentype/requires/name.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) struct NAME {
[INFO] [stdout]     |                   ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) storage_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub(crate) lang_tag_records: Box<Vec<LangTagRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NAME` 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: fields `sub_headers` and `glyph_id_array` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:620:16
[INFO] [stdout]     |
[INFO] [stdout] 615 | pub(crate) struct CmapHighByteEncoding {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 620 |     pub(crate) sub_headers: Vec<CmapSubheader>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 621 |     pub(crate) glyph_id_array: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapHighByteEncoding` 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: fields `first_code`, `entry_count`, `id_delta`, and `id_range_offset` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:626:16
[INFO] [stdout]     |
[INFO] [stdout] 625 | pub(crate) struct CmapSubheader {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 626 |     pub(crate) first_code: u16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 627 |     pub(crate) entry_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 628 |     pub(crate) id_delta: i16,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 629 |     pub(crate) id_range_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubheader` 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: multiple fields are never read
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct GDEF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 7  |     pub(crate) major_versionn: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) glyph_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) attach_list: Option<AttachPointList>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) lig_caret_list: Option<LigatureCaretList>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) mark_attach_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     // 1.2
[INFO] [stdout] 14 |     pub(crate) mark_glyph_sets_def: Option<MarkGlyphSetsDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GDEF` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl GDEF {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new<R: BinaryReader>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `records`, `uvs`, and `substitute` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:871:16
[INFO] [stdout]     |
[INFO] [stdout] 870 | pub(crate) struct EncodingRecordPriority {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 871 |     pub(crate) records: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 872 |     pub(crate) uvs: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 873 |     pub(crate) substitute: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EncodingRecordPriority` 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: function `select_encoding` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:876:15
[INFO] [stdout]     |
[INFO] [stdout] 876 | pub(crate) fn select_encoding(encoding_records: &Vec<EncodingRecord>) -> EncodingRecordPriority {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage` and `attach_point` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:127:16
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) struct AttachPointList {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 127 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 128 |     pub(crate) attach_point: Vec<AttachPoint>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPointList` 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: variant `WindowsLegcy` is never constructed
[INFO] [stdout]   --> src/opentype/requires/name.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum EncodingEngine {
[INFO] [stdout]    |      -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 85 |     WindowsLegcy,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl AttachPointList {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 132 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `storage_offset` and `lang_tag_records` are never read
[INFO] [stdout]    --> src/opentype/requires/name.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) struct NAME {
[INFO] [stdout]     |                   ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) storage_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub(crate) lang_tag_records: Box<Vec<LangTagRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NAME` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `point_indices` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:163:16
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) struct AttachPoint {
[INFO] [stdout]     |                   ----------- field in this struct
[INFO] [stdout] 163 |     pub(crate) point_indices: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPoint` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl AttachPoint {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 167 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage` and `lig_glyph` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:186:16
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub(crate) struct LigatureCaretList {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 186 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 187 |     pub(crate) lig_glyph: Vec<LigatureGlyph>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureCaretList` 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: multiple fields are never read
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct GDEF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 7  |     pub(crate) major_versionn: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) glyph_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) attach_list: Option<AttachPointList>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) lig_caret_list: Option<LigatureCaretList>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) mark_attach_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     // 1.2
[INFO] [stdout] 14 |     pub(crate) mark_glyph_sets_def: Option<MarkGlyphSetsDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GDEF` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl LigatureCaretList {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 191 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl GDEF {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new<R: BinaryReader>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:223:16
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub(crate) struct LigatureGlyph {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 223 |     pub(crate) caret_value: Vec<CaretValue>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureGlyph` 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: fields `coverage` and `attach_point` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:127:16
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) struct AttachPointList {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 127 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 128 |     pub(crate) attach_point: Vec<AttachPoint>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPointList` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl LigatureGlyph {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 227 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl AttachPointList {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 132 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `point_indices` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:163:16
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) struct AttachPoint {
[INFO] [stdout]     |                   ----------- field in this struct
[INFO] [stdout] 163 |     pub(crate) point_indices: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPoint` 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 `Format1`, `Format2`, and `Format3` are never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub(crate) enum CaretValue {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] 279 |     Format1(CaretValueFormat1),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 280 |     Format2(CaretValueFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 281 |     Format3(CaretValueFormat3),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValue` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl AttachPoint {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 167 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `coordinate` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:286:16
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub(crate) struct CaretValueFormat1 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 286 |     pub(crate) coordinate: i16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat1` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value_point` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:291:16
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct CaretValueFormat2 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 291 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat2` 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: fields `coverage` and `lig_glyph` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:186:16
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub(crate) struct LigatureCaretList {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 186 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 187 |     pub(crate) lig_glyph: Vec<LigatureGlyph>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureCaretList` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl LigatureCaretList {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 191 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:223:16
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub(crate) struct LigatureGlyph {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 223 |     pub(crate) caret_value: Vec<CaretValue>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureGlyph` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl LigatureGlyph {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 227 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Format1`, `Format2`, and `Format3` are never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub(crate) enum CaretValue {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] 279 |     Format1(CaretValueFormat1),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 280 |     Format2(CaretValueFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 281 |     Format3(CaretValueFormat3),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `coordinate` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:286:16
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub(crate) struct CaretValueFormat1 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 286 |     pub(crate) coordinate: i16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat1` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value_point` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:291:16
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct CaretValueFormat2 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 291 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat2` 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: fields `caret_value_point` and `device_table` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:296:16
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub(crate) struct CaretValueFormat3 {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 296 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |     pub(crate) device_table: Option<DeviceTable>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat3` 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: struct `VariationStore` is never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) struct VariationStore {}
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mark_set_table_format`, `mark_set_count`, and `coverages` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:304:16
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub(crate) struct MarkGlyphSetsDef {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 304 |     pub(crate) mark_set_table_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 305 |     pub(crate) mark_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 306 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarkGlyphSetsDef` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl MarkGlyphSetsDef {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 310 |     fn new<R: BinaryReader>(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, `scripts`, `features`, `lookups`, and `feature_variations` are never read
[INFO] [stdout]   --> src/opentype/extentions/gsub.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct GSUB {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 12 |     pub(crate) major_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) scripts: Box<ScriptList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 15 |     pub(crate) features: Box<FeatureList>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 16 |     pub(crate) lookups: Box<LookupList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 17 |     // version 1.1
[INFO] [stdout] 18 |     pub(crate) feature_variations: Option<Box<FeatureVariationList>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GSUB` 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: multiple associated items are never used
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout] 21  | impl GSUB {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 22  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn get_script(&self, tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn get_features(&self, tag: &[u8; 4], script: &ParsedScript) -> Vec<&Feature> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn get_lookups(&self, feature: &Feature) -> Vec<&Lookup> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn lookup_vertical(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn lookup_locale(&self, _griph_ids: usize, _locale: &String) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn lookup_liga(&self, _griph_ids: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn lookup_width(&self, _griph_ids: usize, _tag: u32) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn lookup_number(&self, _griph_ids: Vec<usize>) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/classdef.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) enum ClassDef {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 7 |     Format1(ClassDefFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 8 |     Format2(ClassDefFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ClassDef` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ClassDef {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 12 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_format`, `start_glyph_id`, `glyph_count`, and `class_value_array` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) struct ClassDefFormat1 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 79 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub(crate) glyph_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 82 |     pub(crate) class_value_array: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat1` 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: fields `class_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) struct ClassDefFormat2 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 87 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub(crate) range_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 89 |     pub(crate) range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat2` 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: fields `start_glyph_id`, `end_glyph_id`, and `class` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:95:16
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) struct ClassRangeRecord {
[INFO] [stdout]    |                   ---------------- fields in this struct
[INFO] [stdout] 95 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) class: u16,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassRangeRecord` 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: fields `format`, `axis_index`, `filter_range_min_value`, and `filter_range_max_value` are never read
[INFO] [stdout]  --> src/opentype/layouts/condition.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct ConditionTable {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) format: u16,
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 4 |     pub(crate) axis_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) filter_range_min_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) filter_range_max_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConditionTable` 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: fields `condition_count` and `conditions` are never read
[INFO] [stdout]   --> src/opentype/layouts/condition.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) struct ConditionSet {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 11 |     pub(crate) condition_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) conditions: Box<Vec<ConditionTable>>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionSet` 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 `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/coverage.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum Coverage {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 8 |     Format1(CoverageFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 9 |     Format2(CoverageFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Coverage` 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 items `contains`, `to_string`, and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/coverage.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Coverage {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub(crate) fn contains(&self, glyph_id: usize) -> Option<usize> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage_format`, `glyph_count`, and `glyph_ids` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) struct CoverageFormat1 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 116 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     pub(crate) glyph_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) glyph_ids: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat1` 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: fields `coverage_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) struct CoverageFormat2 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 123 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     pub(crate) range_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 125 |     pub(crate) range_records: Vec<RangeRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat2` 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: fields `start_glyph_id`, `end_glyph_id`, and `start_coverage_index` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) struct RangeRecord {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 130 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub(crate) start_coverage_index: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeRecord` 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: fields `start_size`, `end_size`, `delta_format`, and `delta_value` are never read
[INFO] [stdout]   --> src/opentype/layouts/device.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct DeviceTable {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) start_size: u16,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) end_size: u16,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) delta_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) delta_value: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceTable` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/device.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl DeviceTable {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 14 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_tag`, `feature_offset`, `feature_params`, and `lookup_list_indices` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct Feature {
[INFO] [stdout]    |                   ------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) feature_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 8  |     feature_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) feature_params: Option<FeatureParams>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) lookup_list_indices: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Feature` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Feature {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_params` is never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct FeatureParams {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] 32 |     pub(crate) feature_params: Vec<u8>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureParams` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl FeatureParams {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 36 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_count` and `features` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct FeatureList {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 47 |     pub(crate) feature_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub(crate) features: Box<Vec<Feature>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureList` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl FeatureList {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 52 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, length: u32) -> FeatureList {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:104:16
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub(crate) struct FeatureVariation {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 104 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 105 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     pub(crate) feature_variations: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariation` 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: fields `condition_set_offset` and `feature_table_substitution_offset` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) struct FeatureVariationRecord {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 111 |     pub(crate) condition_set_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     pub(crate) feature_table_substitution_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecord` 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: fields `caret_value_point` and `device_table` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:296:16
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub(crate) struct CaretValueFormat3 {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 296 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |     pub(crate) device_table: Option<DeviceTable>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat3` 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: struct `VariationStore` is never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) struct VariationStore {}
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, `condition_set_count`, `condition_sets`, and `feature_table_substitutions` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:117:16
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) struct FeatureVariations {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 117 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 119 |     pub(crate) condition_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     pub(crate) condition_sets: Box<Vec<ConditionSet>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 121 |     pub(crate) feature_table_substitutions: Box<Vec<FeatureTableSubstitution>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariations` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl FeatureVariations {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 124 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mark_set_table_format`, `mark_set_count`, and `coverages` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:304:16
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub(crate) struct MarkGlyphSetsDef {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 304 |     pub(crate) mark_set_table_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 305 |     pub(crate) mark_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 306 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarkGlyphSetsDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_table_substitution` is never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:170:16
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub(crate) struct FeatureTableSubstitution {
[INFO] [stdout]     |                   ------------------------ field in this struct
[INFO] [stdout] 170 |     pub(crate) feature_table_substitution: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureTableSubstitution` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl MarkGlyphSetsDef {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 310 |     fn new<R: BinaryReader>(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_variation_record_count` and `feature_variation_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:175:16
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) struct FeatureVariationRecordList {
[INFO] [stdout]     |                   -------------------------- fields in this struct
[INFO] [stdout] 175 |     pub(crate) feature_variation_record_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     pub(crate) feature_variation_records: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecordList` 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: fields `feature_variation_count` and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(crate) struct FeatureVariationList {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] 181 |     pub(crate) feature_variation_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub(crate) feature_variations: Vec<FeatureVariation>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationList` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl FeatureVariationList {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 185 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, `scripts`, `features`, `lookups`, and `feature_variations` are never read
[INFO] [stdout]   --> src/opentype/extentions/gsub.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct GSUB {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 12 |     pub(crate) major_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) scripts: Box<ScriptList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 15 |     pub(crate) features: Box<FeatureList>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 16 |     pub(crate) lookups: Box<LookupList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 17 |     // version 1.1
[INFO] [stdout] 18 |     pub(crate) feature_variations: Option<Box<FeatureVariationList>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GSUB` 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: fields `lookup_order_offset`, `required_feature_index`, `feature_index_count`, and `feature_indexes` are never read
[INFO] [stdout]  --> src/opentype/layouts/language.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct LanguageSystem {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) lookup_order_offset: u16, // 0
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     pub(crate) required_feature_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) feature_index_count: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) feature_indexes: Vec<u16>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LanguageSystem` 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: method `to_string` is never used
[INFO] [stdout]  --> src/opentype/layouts/language.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl LanguageSystem {
[INFO] [stdout]   | ------------------- method in this implementation
[INFO] [stdout] 9 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `language_system_tag` and `language_system` are never read
[INFO] [stdout]   --> src/opentype/layouts/language.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct LanguageSystemRecord {
[INFO] [stdout]    |                   -------------------- fields in this struct
[INFO] [stdout] 21 |     pub(crate) language_system_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) language_system: LanguageSystem,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LanguageSystemRecord` 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: multiple associated items are never used
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout] 21  | impl GSUB {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 22  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn get_script(&self, tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn get_features(&self, tag: &[u8; 4], script: &ParsedScript) -> Vec<&Feature> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn get_lookups(&self, feature: &Feature) -> Vec<&Lookup> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn lookup_vertical(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn lookup_locale(&self, _griph_ids: usize, _locale: &String) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn lookup_liga(&self, _griph_ids: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn lookup_width(&self, _griph_ids: usize, _tag: u32) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn lookup_number(&self, _griph_ids: Vec<usize>) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/language.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl LanguageSystemRecord {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 26 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookups` is never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub(crate) struct LookupList {
[INFO] [stdout]    |                   ---------- field in this struct
[INFO] [stdout] 10 |     pub(crate) lookups: Box<Vec<Lookup>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupList` 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 `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/classdef.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) enum ClassDef {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 7 |     Format1(ClassDefFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 8 |     Format2(ClassDefFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ClassDef` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LookupList {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ClassDef {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 12 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookup_type`, `lookup_flag`, and `subtables` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct Lookup {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 25 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 26 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 27 |     pub(crate) subtables: Vec<LookupSubstitution>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lookup` 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 items `to_string` and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Lookup {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 31 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_format`, `start_glyph_id`, `glyph_count`, and `class_value_array` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) struct ClassDefFormat1 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 79 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub(crate) glyph_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 82 |     pub(crate) class_value_array: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat1` 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: fields `offset`, `lookup_type`, `lookup_flag`, and `subtable_offsets` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) struct LookupRaw {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 84 |     pub(crate) offset: u64,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 85 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 86 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 87 |     pub(crate) subtable_offsets: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupRaw` 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: fields `class_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) struct ClassDefFormat2 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 87 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub(crate) range_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 89 |     pub(crate) range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat2` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl LookupRaw {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 91 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_glyph_id`, `end_glyph_id`, and `class` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:95:16
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) struct ClassRangeRecord {
[INFO] [stdout]    |                   ---------------- fields in this struct
[INFO] [stdout] 95 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) class: u16,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassRangeRecord` 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 `RightToLeft`, `IgnoreBaseGlyphs`, `IgnoreLigatures`, `IgnoreMarks`, and `UseMarkFilteringSet` are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum LookupFlag {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 126 |     RightToLeft = 0x0001,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 127 |     IgnoreBaseGlyphs = 0x0002,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     IgnoreLigatures = 0x0004,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     IgnoreMarks = 0x0008,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 130 |     UseMarkFilteringSet = 0x0010,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupFlag` 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: fields `format`, `axis_index`, `filter_range_min_value`, and `filter_range_max_value` are never read
[INFO] [stdout]  --> src/opentype/layouts/condition.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct ConditionTable {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) format: u16,
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 4 |     pub(crate) axis_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) filter_range_min_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) filter_range_max_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConditionTable` 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: multiple associated functions are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl LookupList {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] 134 |     pub(crate) fn get<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn get_single<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn get_multiple<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn get_alternate<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn get_ligature<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn get_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn get_context_format1<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn get_class_def<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn get_context_format2<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     fn get_class_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     fn get_class_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     fn get_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn get_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn get_context_format3<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 572 |     fn get_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     fn get_coverage<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 748 |     fn get_extension<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 778 |     fn get_reverse_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:820:5
[INFO] [stdout]     |
[INFO] [stdout] 818 | pub(crate) enum LookupSubstitution {
[INFO] [stdout]     |                 ------------------ variants in this enum
[INFO] [stdout] 819 |     // Lookup Type 1: Single Substitution Subtable
[INFO] [stdout] 820 |     Single(SingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 821 |     Single2(SingleSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 822 |     // Lookup Type 2: Multiple Substitution Subtable
[INFO] [stdout] 823 |     Multiple(MultipleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 824 |     // Lookup Type 3: Alternate Substitution Subtable
[INFO] [stdout] 825 |     Alternate(AlternateSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 826 |     // Lookup Type 4: Ligature Substitution Subtable
[INFO] [stdout] 827 |     Ligature(LigatureSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 |     ContextSubstitution(ContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 831 |     // 5.2
[INFO] [stdout] 832 |     ContextSubstitution2(ContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 833 |     // 5.3
[INFO] [stdout] 834 |     ContextSubstitution3(ContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 835 |     // Lookup Type 6: Chaining Contextual Substitution Subtable
[INFO] [stdout] 836 |     ChainingContextSubstitution(ChainingContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 837 |     ChainingContextSubstitution2(ChainingContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 838 |     ChainingContextSubstitution3(ChainingContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 839 |     // Lookup Type 7: Extension Substitution Subtable
[INFO] [stdout] 840 |     ExtensionSubstitution(ExtensionSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 841 |     // Lookup Type 8: Reverse Chaining Contextual Single Substitution Subtable
[INFO] [stdout] 842 |     ReverseChainSingle(ReverseChainSingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 843 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupSubstitution` 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: enum `LookupResult` is never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 | pub(crate) enum LookupResult {
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `condition_count` and `conditions` are never read
[INFO] [stdout]   --> src/opentype/layouts/condition.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) struct ConditionSet {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 11 |     pub(crate) condition_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) conditions: Box<Vec<ConditionTable>>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionSet` 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: methods `to_string`, `get_coverage`, `get_single_glyph_id`, and `get_lookup` are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:857:19
[INFO] [stdout]     |
[INFO] [stdout] 856 | impl LookupSubstitution {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 857 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub(crate) fn get_coverage(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 892 |     pub(crate) fn get_single_glyph_id(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 912 |     pub(crate) fn get_lookup(&self, gliph_id: usize) -> LookupResult {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/coverage.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum Coverage {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 8 |     Format1(CoverageFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 9 |     Format2(CoverageFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Coverage` 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: fields `subst_format`, `coverage`, and `delta_glyph_id` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1020:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub(crate) struct SingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1020 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1021 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1022 |     pub(crate) delta_glyph_id: i16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat1` 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 items `contains`, `to_string`, and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/coverage.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Coverage {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub(crate) fn contains(&self, glyph_id: usize) -> Option<usize> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `subst_format`, `coverage`, `glyph_count`, and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1027:16
[INFO] [stdout]      |
[INFO] [stdout] 1026 | pub(crate) struct SingleSubstitutionFormat2 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1027 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1028 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1029 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1030 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat2` 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: fields `coverage_format`, `glyph_count`, and `glyph_ids` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) struct CoverageFormat1 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 116 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     pub(crate) glyph_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) glyph_ids: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat1` 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: fields `subst_format`, `coverage`, `sequence_count`, and `sequence_tables` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1035:16
[INFO] [stdout]      |
[INFO] [stdout] 1034 | pub(crate) struct MultipleSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1035 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1036 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1037 |     pub(crate) sequence_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1038 |     pub(crate) sequence_tables: Vec<SequenceTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MultipleSubstitutionFormat1` 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: fields `coverage_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) struct CoverageFormat2 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 123 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     pub(crate) range_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 125 |     pub(crate) range_records: Vec<RangeRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat2` 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: fields `glyph_count` and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1043:16
[INFO] [stdout]      |
[INFO] [stdout] 1042 | pub(crate) struct SequenceTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1043 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1044 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceTable` 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: fields `subst_format`, `coverage`, `alternate_set_count`, and `alternate_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1049:16
[INFO] [stdout]      |
[INFO] [stdout] 1048 | pub(crate) struct AlternateSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1049 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1050 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1051 |     pub(crate) alternate_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1052 |     pub(crate) alternate_set: Vec<AlternateSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSubstitutionFormat1` 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: fields `start_glyph_id`, `end_glyph_id`, and `start_coverage_index` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) struct RangeRecord {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 130 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub(crate) start_coverage_index: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeRecord` 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: fields `glyph_count` and `alternate_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1057:16
[INFO] [stdout]      |
[INFO] [stdout] 1056 | pub(crate) struct AlternateSet {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1057 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1058 |     pub(crate) alternate_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSet` 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: fields `subst_format`, `coverage`, `ligature_set_count`, and `ligature_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1063:16
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub(crate) struct LigatureSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1063 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1064 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1065 |     pub(crate) ligature_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1066 |     pub(crate) ligature_set: Vec<LigatureSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSubstitutionFormat1` 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: fields `ligature_count` and `ligature_table` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1071:16
[INFO] [stdout]      |
[INFO] [stdout] 1070 | pub(crate) struct LigatureSet {
[INFO] [stdout]      |                   ----------- fields in this struct
[INFO] [stdout] 1071 |     pub(crate) ligature_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1072 |     pub(crate) ligature_table: Vec<LigatureTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSet` 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: fields `ligature_glyph`, `component_count`, and `component_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1077:16
[INFO] [stdout]      |
[INFO] [stdout] 1076 | pub(crate) struct LigatureTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1077 |     pub(crate) ligature_glyph: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1078 |     pub(crate) component_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1079 |     pub(crate) component_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureTable` 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: fields `subst_format`, `coverage`, `rule_set_count`, and `rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1084:16
[INFO] [stdout]      |
[INFO] [stdout] 1083 | pub(crate) struct ContextSubstitutionFormat1 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1084 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1085 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1086 |     pub(crate) rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1087 |     pub(crate) rule_sets: Vec<SequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat1` 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: fields `rule_count` and `rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1092:16
[INFO] [stdout]      |
[INFO] [stdout] 1091 | pub(crate) struct SequenceRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1092 |     pub(crate) rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^
[INFO] [stdout] 1093 |     pub(crate) rules: Vec<SequenceRule>,
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRuleSet` 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: fields `glyph_count`, `input_sequence`, `lookup_count`, and `lookup_indexes` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1098:16
[INFO] [stdout]      |
[INFO] [stdout] 1097 | pub(crate) struct SequenceRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1098 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1099 |     pub(crate) input_sequence: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1100 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1101 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRule` 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: fields `subst_format`, `coverage`, `class_def`, `class_seq_rule_set_count`, and `class_seq_rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1106:16
[INFO] [stdout]      |
[INFO] [stdout] 1105 | pub(crate) struct ContextSubstitutionFormat2 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1106 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1107 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1108 |     pub(crate) class_def: ClassDef,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1109 |     pub(crate) class_seq_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1110 |     pub(crate) class_seq_rule_sets: Vec<ClassSequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat2` 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: fields `class_seq_rule_count` and `class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1115:16
[INFO] [stdout]      |
[INFO] [stdout] 1114 | pub(crate) struct ClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------- fields in this struct
[INFO] [stdout] 1115 |     pub(crate) class_seq_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1116 |     pub(crate) class_seq_rules: Vec<ClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRuleSet` 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: fields `glyph_count`, `seq_lookup_count`, `input_sequences`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1121:16
[INFO] [stdout]      |
[INFO] [stdout] 1120 | pub(crate) struct ClassSequenceRule {
[INFO] [stdout]      |                   ----------------- fields in this struct
[INFO] [stdout] 1121 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1122 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1123 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1124 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRule` 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: fields `chain_sub_class_set_count` and `chained_class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1129:16
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub(crate) struct ChaineClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1129 |     pub(crate) chain_sub_class_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1130 |     pub(crate) chained_class_seq_rules: Vec<ChaineClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1135:16
[INFO] [stdout]      |
[INFO] [stdout] 1134 | pub(crate) struct ChaineClassSequenceRule {
[INFO] [stdout]      |                   ----------------------- fields in this struct
[INFO] [stdout] 1135 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1136 |     pub(crate) backtrack_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1137 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1138 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1139 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1140 |     pub(crate) lookahead_class_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1141 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1142 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRule` 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: fields `subst_format`, `glyph_count`, `seq_lookup_count`, `coverages`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1147:16
[INFO] [stdout]      |
[INFO] [stdout] 1146 | pub(crate) struct ContextSubstitutionFormat3 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1147 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1148 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1149 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1150 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1151 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat3` 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: fields `subst_format`, `coverage`, `chain_sub_rule_set_count`, and `chain_sub_rule_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1157:16
[INFO] [stdout]      |
[INFO] [stdout] 1156 | pub(crate) struct ChainingContextSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1157 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1158 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1159 |     pub(crate) chain_sub_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1160 |     pub(crate) chain_sub_rule_set: Vec<ChainSubRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat1` 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: fields `chain_sub_rule_count` and `chain_sub_rule` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1165:16
[INFO] [stdout]      |
[INFO] [stdout] 1164 | pub(crate) struct ChainSubRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1165 |     pub(crate) chain_sub_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1166 |     pub(crate) chain_sub_rule: Vec<ChainSubRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1171:16
[INFO] [stdout]      |
[INFO] [stdout] 1170 | pub(crate) struct ChainSubRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1171 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1172 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1173 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1174 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1175 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1176 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1177 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1178 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRule` 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: fields `subst_format`, `class_range_count`, `class_range_records`, and `coverage` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1184:16
[INFO] [stdout]      |
[INFO] [stdout] 1183 | pub(crate) struct ChainingContextSubstitutionFormat2 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1184 |     pub(crate) subst_format: u16, // 2
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1185 |     pub(crate) class_range_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1186 |     pub(crate) class_range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1187 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat2` 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: fields `start_size`, `end_size`, `delta_format`, and `delta_value` are never read
[INFO] [stdout]   --> src/opentype/layouts/device.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct DeviceTable {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) start_size: u16,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) end_size: u16,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) delta_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) delta_value: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceTable` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1193:16
[INFO] [stdout]      |
[INFO] [stdout] 1192 | pub(crate) struct ChainingContextSubstitutionFormat3 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1193 |     pub(crate) format: u16, // 3
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 1194 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1195 |     pub(crate) backtrack_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1196 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1197 |     pub(crate) input_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1198 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1199 |     pub(crate) lookahead_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1200 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1201 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat3` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/device.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl DeviceTable {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 14 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookup_records` is never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1206:16
[INFO] [stdout]      |
[INFO] [stdout] 1205 | pub(crate) struct SequenceLookupRecords {
[INFO] [stdout]      |                   --------------------- field in this struct
[INFO] [stdout] 1206 |     pub(crate) lookup_records: Vec<LookupRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceLookupRecords` 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: fields `sequence_index` and `lookup_list_index` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1211:16
[INFO] [stdout]      |
[INFO] [stdout] 1210 | pub struct LookupRecord {
[INFO] [stdout]      |            ------------ fields in this struct
[INFO] [stdout] 1211 |     pub(crate) sequence_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1212 |     pub(crate) lookup_list_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LookupRecord` 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: fields `subst_format`, `extension_lookup_type`, and `extension_offset` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1218:16
[INFO] [stdout]      |
[INFO] [stdout] 1217 | pub(crate) struct ExtensionSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1218 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1219 |     pub(crate) extension_lookup_type: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1220 |     pub(crate) extension_offset: u32,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ExtensionSubstitutionFormat1` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1226:16
[INFO] [stdout]      |
[INFO] [stdout] 1225 | pub(crate) struct ReverseChainSingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------------------- fields in this struct
[INFO] [stdout] 1226 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1227 |     pub(crate) coverage_offset: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1228 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1229 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1230 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1231 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1232 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1233 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1234 |     pub(crate) substitute_glyph_id: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ReverseChainSingleSubstitutionFormat1` 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: fields `script_tag` and `script_offset` are never read
[INFO] [stdout]  --> src/opentype/layouts/script.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct Script {
[INFO] [stdout]   |                   ------ fields in this struct
[INFO] [stdout] 7 |     pub(crate) script_tag: u32, // https://learn.microsoft.com/ja-jp/typography/opentype/spec/scripttags
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 8 |     pub(crate) script_offset: u64,
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Script` 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: fields `script_tag` and `language_systems` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ParsedScript {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 13 |     pub(crate) script_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) language_systems: Box<Vec<LanguageSystemRecord>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedScript` 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 items `parse` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/script.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ParsedScript {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 18 |     pub(crate) fn parse<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `script_count` and `scripts` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) struct ScriptList {
[INFO] [stdout]    |                   ---------- fields in this struct
[INFO] [stdout] 83 |     pub(crate) script_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 84 |     pub(crate) scripts: Box<Vec<ParsedScript>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptList` 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 items `new`, `get_script`, and `to_string` are never used
[INFO] [stdout]    --> src/opentype/layouts/script.rs:88:19
[INFO] [stdout]     |
[INFO] [stdout] 87  | impl ScriptList {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 88  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn get_script(&self, script_tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_sum` is never used
[INFO] [stdout]   --> src/util.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) fn check_sum(table: Vec<u8>) -> u32 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `table_records`, `metadata`, and `private_data` are never read
[INFO] [stdout]   --> src/woff/woff.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) struct WOFF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 94 |     pub(crate) header: WOFFHeader,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 95 |     pub(crate) table_records: Vec<WOFFTableRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) metadata: Box<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) private_data: Box<Vec<u8>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WOFF` 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: methods `get_metadata` and `get_private_data` are never used
[INFO] [stdout]    --> src/woff/woff.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl WOFF {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn get_metadata(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn get_private_data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_tag`, `feature_offset`, `feature_params`, and `lookup_list_indices` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct Feature {
[INFO] [stdout]    |                   ------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) feature_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 8  |     feature_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) feature_params: Option<FeatureParams>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) lookup_list_indices: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Feature` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Feature {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_params` is never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct FeatureParams {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] 32 |     pub(crate) feature_params: Vec<u8>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureParams` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl FeatureParams {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 36 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_count` and `features` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct FeatureList {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 47 |     pub(crate) feature_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub(crate) features: Box<Vec<Feature>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureList` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl FeatureList {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 52 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, length: u32) -> FeatureList {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:104:16
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub(crate) struct FeatureVariation {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 104 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 105 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     pub(crate) feature_variations: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariation` 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: fields `condition_set_offset` and `feature_table_substitution_offset` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) struct FeatureVariationRecord {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 111 |     pub(crate) condition_set_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     pub(crate) feature_table_substitution_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecord` 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: fields `major_version`, `minor_version`, `condition_set_count`, `condition_sets`, and `feature_table_substitutions` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:117:16
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) struct FeatureVariations {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 117 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 119 |     pub(crate) condition_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     pub(crate) condition_sets: Box<Vec<ConditionSet>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 121 |     pub(crate) feature_table_substitutions: Box<Vec<FeatureTableSubstitution>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariations` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl FeatureVariations {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 124 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_table_substitution` is never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:170:16
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub(crate) struct FeatureTableSubstitution {
[INFO] [stdout]     |                   ------------------------ field in this struct
[INFO] [stdout] 170 |     pub(crate) feature_table_substitution: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureTableSubstitution` 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: fields `feature_variation_record_count` and `feature_variation_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:175:16
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) struct FeatureVariationRecordList {
[INFO] [stdout]     |                   -------------------------- fields in this struct
[INFO] [stdout] 175 |     pub(crate) feature_variation_record_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     pub(crate) feature_variation_records: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecordList` 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: fields `feature_variation_count` and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(crate) struct FeatureVariationList {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] 181 |     pub(crate) feature_variation_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub(crate) feature_variations: Vec<FeatureVariation>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationList` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl FeatureVariationList {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 185 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookup_order_offset`, `required_feature_index`, `feature_index_count`, and `feature_indexes` are never read
[INFO] [stdout]  --> src/opentype/layouts/language.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct LanguageSystem {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) lookup_order_offset: u16, // 0
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     pub(crate) required_feature_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) feature_index_count: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) feature_indexes: Vec<u16>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LanguageSystem` 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: method `to_string` is never used
[INFO] [stdout]  --> src/opentype/layouts/language.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl LanguageSystem {
[INFO] [stdout]   | ------------------- method in this implementation
[INFO] [stdout] 9 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `language_system_tag` and `language_system` are never read
[INFO] [stdout]   --> src/opentype/layouts/language.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct LanguageSystemRecord {
[INFO] [stdout]    |                   -------------------- fields in this struct
[INFO] [stdout] 21 |     pub(crate) language_system_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) language_system: LanguageSystem,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LanguageSystemRecord` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/language.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl LanguageSystemRecord {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 26 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookups` is never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub(crate) struct LookupList {
[INFO] [stdout]    |                   ---------- field in this struct
[INFO] [stdout] 10 |     pub(crate) lookups: Box<Vec<Lookup>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupList` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LookupList {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookup_type`, `lookup_flag`, and `subtables` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct Lookup {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 25 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 26 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 27 |     pub(crate) subtables: Vec<LookupSubstitution>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lookup` 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 items `to_string` and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Lookup {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 31 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `lookup_type`, `lookup_flag`, and `subtable_offsets` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) struct LookupRaw {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 84 |     pub(crate) offset: u64,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 85 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 86 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 87 |     pub(crate) subtable_offsets: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupRaw` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl LookupRaw {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 91 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RightToLeft`, `IgnoreBaseGlyphs`, `IgnoreLigatures`, `IgnoreMarks`, and `UseMarkFilteringSet` are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum LookupFlag {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 126 |     RightToLeft = 0x0001,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 127 |     IgnoreBaseGlyphs = 0x0002,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     IgnoreLigatures = 0x0004,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     IgnoreMarks = 0x0008,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 130 |     UseMarkFilteringSet = 0x0010,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupFlag` 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: multiple associated functions are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl LookupList {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] 134 |     pub(crate) fn get<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn get_single<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn get_multiple<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn get_alternate<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn get_ligature<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn get_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn get_context_format1<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn get_class_def<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn get_context_format2<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     fn get_class_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     fn get_class_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     fn get_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn get_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn get_context_format3<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 572 |     fn get_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     fn get_coverage<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 748 |     fn get_extension<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 778 |     fn get_reverse_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:820:5
[INFO] [stdout]     |
[INFO] [stdout] 818 | pub(crate) enum LookupSubstitution {
[INFO] [stdout]     |                 ------------------ variants in this enum
[INFO] [stdout] 819 |     // Lookup Type 1: Single Substitution Subtable
[INFO] [stdout] 820 |     Single(SingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 821 |     Single2(SingleSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 822 |     // Lookup Type 2: Multiple Substitution Subtable
[INFO] [stdout] 823 |     Multiple(MultipleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 824 |     // Lookup Type 3: Alternate Substitution Subtable
[INFO] [stdout] 825 |     Alternate(AlternateSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 826 |     // Lookup Type 4: Ligature Substitution Subtable
[INFO] [stdout] 827 |     Ligature(LigatureSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 |     ContextSubstitution(ContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 831 |     // 5.2
[INFO] [stdout] 832 |     ContextSubstitution2(ContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 833 |     // 5.3
[INFO] [stdout] 834 |     ContextSubstitution3(ContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 835 |     // Lookup Type 6: Chaining Contextual Substitution Subtable
[INFO] [stdout] 836 |     ChainingContextSubstitution(ChainingContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 837 |     ChainingContextSubstitution2(ChainingContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 838 |     ChainingContextSubstitution3(ChainingContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 839 |     // Lookup Type 7: Extension Substitution Subtable
[INFO] [stdout] 840 |     ExtensionSubstitution(ExtensionSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 841 |     // Lookup Type 8: Reverse Chaining Contextual Single Substitution Subtable
[INFO] [stdout] 842 |     ReverseChainSingle(ReverseChainSingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 843 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupSubstitution` 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: enum `LookupResult` is never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 | pub(crate) enum LookupResult {
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string`, `get_coverage`, `get_single_glyph_id`, and `get_lookup` are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:857:19
[INFO] [stdout]     |
[INFO] [stdout] 856 | impl LookupSubstitution {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 857 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub(crate) fn get_coverage(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 892 |     pub(crate) fn get_single_glyph_id(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 912 |     pub(crate) fn get_lookup(&self, gliph_id: usize) -> LookupResult {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `subst_format`, `coverage`, and `delta_glyph_id` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1020:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub(crate) struct SingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1020 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1021 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1022 |     pub(crate) delta_glyph_id: i16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat1` 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: fields `subst_format`, `coverage`, `glyph_count`, and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1027:16
[INFO] [stdout]      |
[INFO] [stdout] 1026 | pub(crate) struct SingleSubstitutionFormat2 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1027 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1028 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1029 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1030 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat2` 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: fields `subst_format`, `coverage`, `sequence_count`, and `sequence_tables` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1035:16
[INFO] [stdout]      |
[INFO] [stdout] 1034 | pub(crate) struct MultipleSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1035 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1036 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1037 |     pub(crate) sequence_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1038 |     pub(crate) sequence_tables: Vec<SequenceTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MultipleSubstitutionFormat1` 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: fields `glyph_count` and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1043:16
[INFO] [stdout]      |
[INFO] [stdout] 1042 | pub(crate) struct SequenceTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1043 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1044 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceTable` 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: fields `subst_format`, `coverage`, `alternate_set_count`, and `alternate_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1049:16
[INFO] [stdout]      |
[INFO] [stdout] 1048 | pub(crate) struct AlternateSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1049 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1050 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1051 |     pub(crate) alternate_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1052 |     pub(crate) alternate_set: Vec<AlternateSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSubstitutionFormat1` 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: fields `glyph_count` and `alternate_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1057:16
[INFO] [stdout]      |
[INFO] [stdout] 1056 | pub(crate) struct AlternateSet {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1057 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1058 |     pub(crate) alternate_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSet` 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: fields `subst_format`, `coverage`, `ligature_set_count`, and `ligature_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1063:16
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub(crate) struct LigatureSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1063 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1064 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1065 |     pub(crate) ligature_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1066 |     pub(crate) ligature_set: Vec<LigatureSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSubstitutionFormat1` 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: fields `ligature_count` and `ligature_table` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1071:16
[INFO] [stdout]      |
[INFO] [stdout] 1070 | pub(crate) struct LigatureSet {
[INFO] [stdout]      |                   ----------- fields in this struct
[INFO] [stdout] 1071 |     pub(crate) ligature_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1072 |     pub(crate) ligature_table: Vec<LigatureTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSet` 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: fields `ligature_glyph`, `component_count`, and `component_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1077:16
[INFO] [stdout]      |
[INFO] [stdout] 1076 | pub(crate) struct LigatureTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1077 |     pub(crate) ligature_glyph: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1078 |     pub(crate) component_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1079 |     pub(crate) component_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureTable` 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: fields `subst_format`, `coverage`, `rule_set_count`, and `rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1084:16
[INFO] [stdout]      |
[INFO] [stdout] 1083 | pub(crate) struct ContextSubstitutionFormat1 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1084 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1085 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1086 |     pub(crate) rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1087 |     pub(crate) rule_sets: Vec<SequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat1` 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: fields `rule_count` and `rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1092:16
[INFO] [stdout]      |
[INFO] [stdout] 1091 | pub(crate) struct SequenceRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1092 |     pub(crate) rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^
[INFO] [stdout] 1093 |     pub(crate) rules: Vec<SequenceRule>,
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRuleSet` 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: fields `glyph_count`, `input_sequence`, `lookup_count`, and `lookup_indexes` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1098:16
[INFO] [stdout]      |
[INFO] [stdout] 1097 | pub(crate) struct SequenceRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1098 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1099 |     pub(crate) input_sequence: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1100 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1101 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRule` 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: fields `subst_format`, `coverage`, `class_def`, `class_seq_rule_set_count`, and `class_seq_rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1106:16
[INFO] [stdout]      |
[INFO] [stdout] 1105 | pub(crate) struct ContextSubstitutionFormat2 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1106 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1107 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1108 |     pub(crate) class_def: ClassDef,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1109 |     pub(crate) class_seq_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1110 |     pub(crate) class_seq_rule_sets: Vec<ClassSequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat2` 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: fields `class_seq_rule_count` and `class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1115:16
[INFO] [stdout]      |
[INFO] [stdout] 1114 | pub(crate) struct ClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------- fields in this struct
[INFO] [stdout] 1115 |     pub(crate) class_seq_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1116 |     pub(crate) class_seq_rules: Vec<ClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRuleSet` 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: fields `glyph_count`, `seq_lookup_count`, `input_sequences`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1121:16
[INFO] [stdout]      |
[INFO] [stdout] 1120 | pub(crate) struct ClassSequenceRule {
[INFO] [stdout]      |                   ----------------- fields in this struct
[INFO] [stdout] 1121 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1122 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1123 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1124 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRule` 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: fields `chain_sub_class_set_count` and `chained_class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1129:16
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub(crate) struct ChaineClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1129 |     pub(crate) chain_sub_class_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1130 |     pub(crate) chained_class_seq_rules: Vec<ChaineClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1135:16
[INFO] [stdout]      |
[INFO] [stdout] 1134 | pub(crate) struct ChaineClassSequenceRule {
[INFO] [stdout]      |                   ----------------------- fields in this struct
[INFO] [stdout] 1135 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1136 |     pub(crate) backtrack_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1137 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1138 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1139 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1140 |     pub(crate) lookahead_class_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1141 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1142 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRule` 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: fields `subst_format`, `glyph_count`, `seq_lookup_count`, `coverages`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1147:16
[INFO] [stdout]      |
[INFO] [stdout] 1146 | pub(crate) struct ContextSubstitutionFormat3 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1147 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1148 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1149 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1150 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1151 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat3` 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: fields `subst_format`, `coverage`, `chain_sub_rule_set_count`, and `chain_sub_rule_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1157:16
[INFO] [stdout]      |
[INFO] [stdout] 1156 | pub(crate) struct ChainingContextSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1157 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1158 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1159 |     pub(crate) chain_sub_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1160 |     pub(crate) chain_sub_rule_set: Vec<ChainSubRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat1` 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: fields `chain_sub_rule_count` and `chain_sub_rule` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1165:16
[INFO] [stdout]      |
[INFO] [stdout] 1164 | pub(crate) struct ChainSubRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1165 |     pub(crate) chain_sub_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1166 |     pub(crate) chain_sub_rule: Vec<ChainSubRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1171:16
[INFO] [stdout]      |
[INFO] [stdout] 1170 | pub(crate) struct ChainSubRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1171 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1172 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1173 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1174 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1175 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1176 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1177 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1178 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRule` 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: fields `subst_format`, `class_range_count`, `class_range_records`, and `coverage` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1184:16
[INFO] [stdout]      |
[INFO] [stdout] 1183 | pub(crate) struct ChainingContextSubstitutionFormat2 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1184 |     pub(crate) subst_format: u16, // 2
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1185 |     pub(crate) class_range_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1186 |     pub(crate) class_range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1187 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat2` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1193:16
[INFO] [stdout]      |
[INFO] [stdout] 1192 | pub(crate) struct ChainingContextSubstitutionFormat3 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1193 |     pub(crate) format: u16, // 3
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 1194 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1195 |     pub(crate) backtrack_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1196 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1197 |     pub(crate) input_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1198 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1199 |     pub(crate) lookahead_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1200 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1201 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookup_records` is never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1206:16
[INFO] [stdout]      |
[INFO] [stdout] 1205 | pub(crate) struct SequenceLookupRecords {
[INFO] [stdout]      |                   --------------------- field in this struct
[INFO] [stdout] 1206 |     pub(crate) lookup_records: Vec<LookupRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceLookupRecords` 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: fields `sequence_index` and `lookup_list_index` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1211:16
[INFO] [stdout]      |
[INFO] [stdout] 1210 | pub struct LookupRecord {
[INFO] [stdout]      |            ------------ fields in this struct
[INFO] [stdout] 1211 |     pub(crate) sequence_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1212 |     pub(crate) lookup_list_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LookupRecord` 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: fields `subst_format`, `extension_lookup_type`, and `extension_offset` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1218:16
[INFO] [stdout]      |
[INFO] [stdout] 1217 | pub(crate) struct ExtensionSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1218 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1219 |     pub(crate) extension_lookup_type: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1220 |     pub(crate) extension_offset: u32,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ExtensionSubstitutionFormat1` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1226:16
[INFO] [stdout]      |
[INFO] [stdout] 1225 | pub(crate) struct ReverseChainSingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------------------- fields in this struct
[INFO] [stdout] 1226 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1227 |     pub(crate) coverage_offset: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1228 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1229 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1230 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1231 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1232 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1233 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1234 |     pub(crate) substitute_glyph_id: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ReverseChainSingleSubstitutionFormat1` 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: fields `script_tag` and `script_offset` are never read
[INFO] [stdout]  --> src/opentype/layouts/script.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct Script {
[INFO] [stdout]   |                   ------ fields in this struct
[INFO] [stdout] 7 |     pub(crate) script_tag: u32, // https://learn.microsoft.com/ja-jp/typography/opentype/spec/scripttags
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 8 |     pub(crate) script_offset: u64,
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Script` 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: fields `script_tag` and `language_systems` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ParsedScript {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 13 |     pub(crate) script_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) language_systems: Box<Vec<LanguageSystemRecord>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedScript` 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 items `parse` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/script.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ParsedScript {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 18 |     pub(crate) fn parse<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `script_count` and `scripts` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) struct ScriptList {
[INFO] [stdout]    |                   ---------- fields in this struct
[INFO] [stdout] 83 |     pub(crate) script_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 84 |     pub(crate) scripts: Box<Vec<ParsedScript>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptList` 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 items `new`, `get_script`, and `to_string` are never used
[INFO] [stdout]    --> src/opentype/layouts/script.rs:88:19
[INFO] [stdout]     |
[INFO] [stdout] 87  | impl ScriptList {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 88  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn get_script(&self, script_tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_sum` is never used
[INFO] [stdout]   --> src/util.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) fn check_sum(table: Vec<u8>) -> u32 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `table_records`, `metadata`, and `private_data` are never read
[INFO] [stdout]   --> src/woff/woff.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) struct WOFF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 94 |     pub(crate) header: WOFFHeader,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 95 |     pub(crate) table_records: Vec<WOFFTableRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) metadata: Box<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) private_data: Box<Vec<u8>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WOFF` 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: methods `get_metadata` and `get_private_data` are never used
[INFO] [stdout]    --> src/woff/woff.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl WOFF {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn get_metadata(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn get_private_data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 113 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 113 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> examples/fontloader.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{env, path::PathBuf};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> examples/fontload.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{env, path::PathBuf};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> examples/tategaki.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{env, path::PathBuf};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> examples/fonttest.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{env, path::PathBuf};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> examples/fonttype.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, path::Path};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.79s
[INFO] running `Command { std: "docker" "inspect" "2ea05c42bffe40224bd4179bbb4fd3ffd05c639a9c9c193c637544d75eeee811", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ea05c42bffe40224bd4179bbb4fd3ffd05c639a9c9c193c637544d75eeee811", kill_on_drop: false }`
[INFO] [stdout] 2ea05c42bffe40224bd4179bbb4fd3ffd05c639a9c9c193c637544d75eeee811
[INFO] checking mith-mmk/FontReader against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmith-mmk%2FFontReader" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mith-mmk/FontReader on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/mith-mmk/FontReader
[INFO] finished tweaking git repo https://github.com/mith-mmk/FontReader
[INFO] tweaked toml for git repo https://github.com/mith-mmk/FontReader written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/mith-mmk/FontReader 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 158809020fc7190576a0960bf060f0bdf4cdc1517ed9171dc52e785c320061c7
[INFO] running `Command { std: "docker" "start" "-a" "158809020fc7190576a0960bf060f0bdf4cdc1517ed9171dc52e785c320061c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "158809020fc7190576a0960bf060f0bdf4cdc1517ed9171dc52e785c320061c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "158809020fc7190576a0960bf060f0bdf4cdc1517ed9171dc52e785c320061c7", kill_on_drop: false }`
[INFO] [stdout] 158809020fc7190576a0960bf060f0bdf4cdc1517ed9171dc52e785c320061c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Dnon_local_definitions" "-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" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a365be996e20d2552d9527ebb300fbb4e4d9462d99223f5c47978b6106d8d6c6
[INFO] running `Command { std: "docker" "start" "-a" "a365be996e20d2552d9527ebb300fbb4e4d9462d99223f5c47978b6106d8d6c6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]     Checking bin-rs v0.0.9
[INFO] [stderr]     Checking base64 v0.21.4
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.31
[INFO] [stderr]    Compiling num-derive v0.4.0
[INFO] [stderr]     Checking fontloader v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::opentype::extentions::gdef`
[INFO] [stdout]   --> src/fontreader.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::opentype::extentions::gdef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::opentype::extentions::gdef`
[INFO] [stdout]   --> src/fontreader.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::opentype::extentions::gdef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subtable`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 for subtable in lookup.subtables.iter() {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subtable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glyph_id`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glyph_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subtable`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 for subtable in lookup.subtables.iter() {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subtable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glyph_id`
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glyph_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1015:16
[INFO] [stdout]      |
[INFO] [stdout] 1009 | pub struct HorizontalLayout {
[INFO] [stdout]      |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1015 |     pub(crate) hhea: HHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HorizontalLayout` 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: field `vhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1025:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub struct VerticalLayout {
[INFO] [stdout]      |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1025 |     pub(crate) vhea: VHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VerticalLayout` 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: function `font_debug` is never used
[INFO] [stdout]     --> src/fontreader.rs:1042:4
[INFO] [stdout]      |
[INFO] [stdout] 1042 | fn font_debug(_font: &Font) {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/opentype/requires/cmap.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl CMAP {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 21 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cmap` is never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) struct CmapEncodings {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 158 |     pub(crate) cmap: Box<CMAP>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapEncodings` 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: method `get_encoding_engine` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl CmapEncodings {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub(crate) fn get_encoding_engine(&self) -> Box<Vec<EncodingRecord>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FormatUnknown` is never constructed
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub(crate) enum CmapSubtable {
[INFO] [stdout]     |                 ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 368 |     FormatUnknown,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubtable` 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: fields `sub_headers` and `glyph_id_array` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:620:16
[INFO] [stdout]     |
[INFO] [stdout] 615 | pub(crate) struct CmapHighByteEncoding {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 620 |     pub(crate) sub_headers: Vec<CmapSubheader>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 621 |     pub(crate) glyph_id_array: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapHighByteEncoding` 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: fields `first_code`, `entry_count`, `id_delta`, and `id_range_offset` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:626:16
[INFO] [stdout]     |
[INFO] [stdout] 625 | pub(crate) struct CmapSubheader {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 626 |     pub(crate) first_code: u16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 627 |     pub(crate) entry_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 628 |     pub(crate) id_delta: i16,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 629 |     pub(crate) id_range_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubheader` 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: fields `records`, `uvs`, and `substitute` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:871:16
[INFO] [stdout]     |
[INFO] [stdout] 870 | pub(crate) struct EncodingRecordPriority {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 871 |     pub(crate) records: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 872 |     pub(crate) uvs: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 873 |     pub(crate) substitute: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EncodingRecordPriority` 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: function `select_encoding` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:876:15
[INFO] [stdout]     |
[INFO] [stdout] 876 | pub(crate) fn select_encoding(encoding_records: &Vec<EncodingRecord>) -> EncodingRecordPriority {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WindowsLegcy` is never constructed
[INFO] [stdout]   --> src/opentype/requires/name.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum EncodingEngine {
[INFO] [stdout]    |      -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 85 |     WindowsLegcy,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `storage_offset` and `lang_tag_records` are never read
[INFO] [stdout]    --> src/opentype/requires/name.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) struct NAME {
[INFO] [stdout]     |                   ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) storage_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub(crate) lang_tag_records: Box<Vec<LangTagRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NAME` 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: multiple fields are never read
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct GDEF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 7  |     pub(crate) major_versionn: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) glyph_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) attach_list: Option<AttachPointList>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) lig_caret_list: Option<LigatureCaretList>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) mark_attach_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     // 1.2
[INFO] [stdout] 14 |     pub(crate) mark_glyph_sets_def: Option<MarkGlyphSetsDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GDEF` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl GDEF {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new<R: BinaryReader>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage` and `attach_point` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:127:16
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) struct AttachPointList {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 127 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 128 |     pub(crate) attach_point: Vec<AttachPoint>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPointList` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl AttachPointList {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 132 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `point_indices` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:163:16
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) struct AttachPoint {
[INFO] [stdout]     |                   ----------- field in this struct
[INFO] [stdout] 163 |     pub(crate) point_indices: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPoint` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl AttachPoint {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 167 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage` and `lig_glyph` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:186:16
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub(crate) struct LigatureCaretList {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 186 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 187 |     pub(crate) lig_glyph: Vec<LigatureGlyph>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureCaretList` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl LigatureCaretList {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 191 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:223:16
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub(crate) struct LigatureGlyph {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 223 |     pub(crate) caret_value: Vec<CaretValue>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureGlyph` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl LigatureGlyph {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 227 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Format1`, `Format2`, and `Format3` are never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub(crate) enum CaretValue {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] 279 |     Format1(CaretValueFormat1),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 280 |     Format2(CaretValueFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 281 |     Format3(CaretValueFormat3),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `coordinate` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:286:16
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub(crate) struct CaretValueFormat1 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 286 |     pub(crate) coordinate: i16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat1` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value_point` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:291:16
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct CaretValueFormat2 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 291 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat2` 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: fields `caret_value_point` and `device_table` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:296:16
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub(crate) struct CaretValueFormat3 {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 296 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |     pub(crate) device_table: Option<DeviceTable>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat3` 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: struct `VariationStore` is never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) struct VariationStore {}
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mark_set_table_format`, `mark_set_count`, and `coverages` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:304:16
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub(crate) struct MarkGlyphSetsDef {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 304 |     pub(crate) mark_set_table_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 305 |     pub(crate) mark_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 306 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarkGlyphSetsDef` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl MarkGlyphSetsDef {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 310 |     fn new<R: BinaryReader>(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, `scripts`, `features`, `lookups`, and `feature_variations` are never read
[INFO] [stdout]   --> src/opentype/extentions/gsub.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct GSUB {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 12 |     pub(crate) major_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) scripts: Box<ScriptList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 15 |     pub(crate) features: Box<FeatureList>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 16 |     pub(crate) lookups: Box<LookupList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 17 |     // version 1.1
[INFO] [stdout] 18 |     pub(crate) feature_variations: Option<Box<FeatureVariationList>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GSUB` 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: multiple associated items are never used
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout] 21  | impl GSUB {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 22  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn get_script(&self, tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn get_features(&self, tag: &[u8; 4], script: &ParsedScript) -> Vec<&Feature> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn get_lookups(&self, feature: &Feature) -> Vec<&Lookup> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn lookup_vertical(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn lookup_locale(&self, _griph_ids: usize, _locale: &String) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn lookup_liga(&self, _griph_ids: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn lookup_width(&self, _griph_ids: usize, _tag: u32) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn lookup_number(&self, _griph_ids: Vec<usize>) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/classdef.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) enum ClassDef {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 7 |     Format1(ClassDefFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 8 |     Format2(ClassDefFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ClassDef` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ClassDef {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 12 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_format`, `start_glyph_id`, `glyph_count`, and `class_value_array` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) struct ClassDefFormat1 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 79 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub(crate) glyph_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 82 |     pub(crate) class_value_array: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat1` 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: fields `class_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) struct ClassDefFormat2 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 87 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub(crate) range_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 89 |     pub(crate) range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat2` 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: fields `start_glyph_id`, `end_glyph_id`, and `class` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:95:16
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) struct ClassRangeRecord {
[INFO] [stdout]    |                   ---------------- fields in this struct
[INFO] [stdout] 95 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) class: u16,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassRangeRecord` 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: fields `format`, `axis_index`, `filter_range_min_value`, and `filter_range_max_value` are never read
[INFO] [stdout]  --> src/opentype/layouts/condition.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct ConditionTable {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) format: u16,
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 4 |     pub(crate) axis_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) filter_range_min_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) filter_range_max_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConditionTable` 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: fields `condition_count` and `conditions` are never read
[INFO] [stdout]   --> src/opentype/layouts/condition.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) struct ConditionSet {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 11 |     pub(crate) condition_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) conditions: Box<Vec<ConditionTable>>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionSet` 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 `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/coverage.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum Coverage {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 8 |     Format1(CoverageFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 9 |     Format2(CoverageFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Coverage` 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 items `contains`, `to_string`, and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/coverage.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Coverage {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub(crate) fn contains(&self, glyph_id: usize) -> Option<usize> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage_format`, `glyph_count`, and `glyph_ids` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) struct CoverageFormat1 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 116 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     pub(crate) glyph_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) glyph_ids: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat1` 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: fields `coverage_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) struct CoverageFormat2 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 123 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     pub(crate) range_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 125 |     pub(crate) range_records: Vec<RangeRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat2` 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: fields `start_glyph_id`, `end_glyph_id`, and `start_coverage_index` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) struct RangeRecord {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 130 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub(crate) start_coverage_index: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeRecord` 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: fields `start_size`, `end_size`, `delta_format`, and `delta_value` are never read
[INFO] [stdout]   --> src/opentype/layouts/device.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct DeviceTable {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) start_size: u16,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) end_size: u16,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) delta_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) delta_value: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceTable` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/device.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl DeviceTable {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 14 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_tag`, `feature_offset`, `feature_params`, and `lookup_list_indices` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct Feature {
[INFO] [stdout]    |                   ------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) feature_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 8  |     feature_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) feature_params: Option<FeatureParams>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) lookup_list_indices: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Feature` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Feature {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_params` is never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct FeatureParams {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] 32 |     pub(crate) feature_params: Vec<u8>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureParams` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl FeatureParams {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 36 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_count` and `features` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct FeatureList {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 47 |     pub(crate) feature_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub(crate) features: Box<Vec<Feature>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureList` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl FeatureList {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 52 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, length: u32) -> FeatureList {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:104:16
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub(crate) struct FeatureVariation {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 104 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 105 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     pub(crate) feature_variations: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariation` 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: fields `condition_set_offset` and `feature_table_substitution_offset` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) struct FeatureVariationRecord {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 111 |     pub(crate) condition_set_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     pub(crate) feature_table_substitution_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecord` 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: fields `major_version`, `minor_version`, `condition_set_count`, `condition_sets`, and `feature_table_substitutions` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:117:16
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) struct FeatureVariations {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 117 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 119 |     pub(crate) condition_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     pub(crate) condition_sets: Box<Vec<ConditionSet>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 121 |     pub(crate) feature_table_substitutions: Box<Vec<FeatureTableSubstitution>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariations` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl FeatureVariations {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 124 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_table_substitution` is never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:170:16
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub(crate) struct FeatureTableSubstitution {
[INFO] [stdout]     |                   ------------------------ field in this struct
[INFO] [stdout] 170 |     pub(crate) feature_table_substitution: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureTableSubstitution` 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: fields `feature_variation_record_count` and `feature_variation_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:175:16
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) struct FeatureVariationRecordList {
[INFO] [stdout]     |                   -------------------------- fields in this struct
[INFO] [stdout] 175 |     pub(crate) feature_variation_record_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     pub(crate) feature_variation_records: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecordList` 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: fields `feature_variation_count` and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(crate) struct FeatureVariationList {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] 181 |     pub(crate) feature_variation_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub(crate) feature_variations: Vec<FeatureVariation>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationList` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl FeatureVariationList {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 185 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookup_order_offset`, `required_feature_index`, `feature_index_count`, and `feature_indexes` are never read
[INFO] [stdout]  --> src/opentype/layouts/language.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct LanguageSystem {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) lookup_order_offset: u16, // 0
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     pub(crate) required_feature_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) feature_index_count: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) feature_indexes: Vec<u16>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LanguageSystem` 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: method `to_string` is never used
[INFO] [stdout]  --> src/opentype/layouts/language.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl LanguageSystem {
[INFO] [stdout]   | ------------------- method in this implementation
[INFO] [stdout] 9 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `language_system_tag` and `language_system` are never read
[INFO] [stdout]   --> src/opentype/layouts/language.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct LanguageSystemRecord {
[INFO] [stdout]    |                   -------------------- fields in this struct
[INFO] [stdout] 21 |     pub(crate) language_system_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) language_system: LanguageSystem,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LanguageSystemRecord` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/language.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl LanguageSystemRecord {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 26 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookups` is never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub(crate) struct LookupList {
[INFO] [stdout]    |                   ---------- field in this struct
[INFO] [stdout] 10 |     pub(crate) lookups: Box<Vec<Lookup>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupList` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LookupList {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookup_type`, `lookup_flag`, and `subtables` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct Lookup {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 25 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 26 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 27 |     pub(crate) subtables: Vec<LookupSubstitution>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lookup` 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 items `to_string` and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Lookup {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 31 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `lookup_type`, `lookup_flag`, and `subtable_offsets` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) struct LookupRaw {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 84 |     pub(crate) offset: u64,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 85 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 86 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 87 |     pub(crate) subtable_offsets: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupRaw` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl LookupRaw {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 91 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RightToLeft`, `IgnoreBaseGlyphs`, `IgnoreLigatures`, `IgnoreMarks`, and `UseMarkFilteringSet` are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum LookupFlag {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 126 |     RightToLeft = 0x0001,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 127 |     IgnoreBaseGlyphs = 0x0002,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     IgnoreLigatures = 0x0004,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     IgnoreMarks = 0x0008,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 130 |     UseMarkFilteringSet = 0x0010,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupFlag` 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: multiple associated functions are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl LookupList {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] 134 |     pub(crate) fn get<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn get_single<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn get_multiple<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn get_alternate<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn get_ligature<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn get_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn get_context_format1<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn get_class_def<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn get_context_format2<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     fn get_class_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     fn get_class_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     fn get_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn get_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn get_context_format3<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 572 |     fn get_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     fn get_coverage<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 748 |     fn get_extension<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 778 |     fn get_reverse_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:820:5
[INFO] [stdout]     |
[INFO] [stdout] 818 | pub(crate) enum LookupSubstitution {
[INFO] [stdout]     |                 ------------------ variants in this enum
[INFO] [stdout] 819 |     // Lookup Type 1: Single Substitution Subtable
[INFO] [stdout] 820 |     Single(SingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 821 |     Single2(SingleSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 822 |     // Lookup Type 2: Multiple Substitution Subtable
[INFO] [stdout] 823 |     Multiple(MultipleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 824 |     // Lookup Type 3: Alternate Substitution Subtable
[INFO] [stdout] 825 |     Alternate(AlternateSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 826 |     // Lookup Type 4: Ligature Substitution Subtable
[INFO] [stdout] 827 |     Ligature(LigatureSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 |     ContextSubstitution(ContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 831 |     // 5.2
[INFO] [stdout] 832 |     ContextSubstitution2(ContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 833 |     // 5.3
[INFO] [stdout] 834 |     ContextSubstitution3(ContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 835 |     // Lookup Type 6: Chaining Contextual Substitution Subtable
[INFO] [stdout] 836 |     ChainingContextSubstitution(ChainingContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 837 |     ChainingContextSubstitution2(ChainingContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 838 |     ChainingContextSubstitution3(ChainingContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 839 |     // Lookup Type 7: Extension Substitution Subtable
[INFO] [stdout] 840 |     ExtensionSubstitution(ExtensionSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 841 |     // Lookup Type 8: Reverse Chaining Contextual Single Substitution Subtable
[INFO] [stdout] 842 |     ReverseChainSingle(ReverseChainSingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 843 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupSubstitution` 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: enum `LookupResult` is never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 | pub(crate) enum LookupResult {
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string`, `get_coverage`, `get_single_glyph_id`, and `get_lookup` are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:857:19
[INFO] [stdout]     |
[INFO] [stdout] 856 | impl LookupSubstitution {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 857 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub(crate) fn get_coverage(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 892 |     pub(crate) fn get_single_glyph_id(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 912 |     pub(crate) fn get_lookup(&self, gliph_id: usize) -> LookupResult {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `subst_format`, `coverage`, and `delta_glyph_id` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1020:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub(crate) struct SingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1020 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1021 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1022 |     pub(crate) delta_glyph_id: i16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat1` 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: fields `subst_format`, `coverage`, `glyph_count`, and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1027:16
[INFO] [stdout]      |
[INFO] [stdout] 1026 | pub(crate) struct SingleSubstitutionFormat2 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1027 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1028 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1029 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1030 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat2` 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: fields `subst_format`, `coverage`, `sequence_count`, and `sequence_tables` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1035:16
[INFO] [stdout]      |
[INFO] [stdout] 1034 | pub(crate) struct MultipleSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1035 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1036 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1037 |     pub(crate) sequence_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1038 |     pub(crate) sequence_tables: Vec<SequenceTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MultipleSubstitutionFormat1` 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: fields `glyph_count` and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1043:16
[INFO] [stdout]      |
[INFO] [stdout] 1042 | pub(crate) struct SequenceTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1043 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1044 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceTable` 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: fields `subst_format`, `coverage`, `alternate_set_count`, and `alternate_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1049:16
[INFO] [stdout]      |
[INFO] [stdout] 1048 | pub(crate) struct AlternateSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1049 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1050 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1051 |     pub(crate) alternate_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1052 |     pub(crate) alternate_set: Vec<AlternateSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSubstitutionFormat1` 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: fields `glyph_count` and `alternate_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1057:16
[INFO] [stdout]      |
[INFO] [stdout] 1056 | pub(crate) struct AlternateSet {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1057 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1058 |     pub(crate) alternate_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSet` 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: fields `subst_format`, `coverage`, `ligature_set_count`, and `ligature_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1063:16
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub(crate) struct LigatureSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1063 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1064 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1065 |     pub(crate) ligature_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1066 |     pub(crate) ligature_set: Vec<LigatureSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSubstitutionFormat1` 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: fields `ligature_count` and `ligature_table` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1071:16
[INFO] [stdout]      |
[INFO] [stdout] 1070 | pub(crate) struct LigatureSet {
[INFO] [stdout]      |                   ----------- fields in this struct
[INFO] [stdout] 1071 |     pub(crate) ligature_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1072 |     pub(crate) ligature_table: Vec<LigatureTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSet` 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: fields `ligature_glyph`, `component_count`, and `component_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1077:16
[INFO] [stdout]      |
[INFO] [stdout] 1076 | pub(crate) struct LigatureTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1077 |     pub(crate) ligature_glyph: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1078 |     pub(crate) component_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1079 |     pub(crate) component_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureTable` 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: fields `subst_format`, `coverage`, `rule_set_count`, and `rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1084:16
[INFO] [stdout]      |
[INFO] [stdout] 1083 | pub(crate) struct ContextSubstitutionFormat1 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1084 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1085 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1086 |     pub(crate) rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1087 |     pub(crate) rule_sets: Vec<SequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat1` 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: fields `rule_count` and `rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1092:16
[INFO] [stdout]      |
[INFO] [stdout] 1091 | pub(crate) struct SequenceRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1092 |     pub(crate) rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^
[INFO] [stdout] 1093 |     pub(crate) rules: Vec<SequenceRule>,
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRuleSet` 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: fields `glyph_count`, `input_sequence`, `lookup_count`, and `lookup_indexes` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1098:16
[INFO] [stdout]      |
[INFO] [stdout] 1097 | pub(crate) struct SequenceRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1098 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1099 |     pub(crate) input_sequence: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1100 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1101 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRule` 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: fields `subst_format`, `coverage`, `class_def`, `class_seq_rule_set_count`, and `class_seq_rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1106:16
[INFO] [stdout]      |
[INFO] [stdout] 1105 | pub(crate) struct ContextSubstitutionFormat2 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1106 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1107 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1108 |     pub(crate) class_def: ClassDef,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1109 |     pub(crate) class_seq_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1110 |     pub(crate) class_seq_rule_sets: Vec<ClassSequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat2` 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: fields `class_seq_rule_count` and `class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1115:16
[INFO] [stdout]      |
[INFO] [stdout] 1114 | pub(crate) struct ClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------- fields in this struct
[INFO] [stdout] 1115 |     pub(crate) class_seq_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1116 |     pub(crate) class_seq_rules: Vec<ClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRuleSet` 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: fields `glyph_count`, `seq_lookup_count`, `input_sequences`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1121:16
[INFO] [stdout]      |
[INFO] [stdout] 1120 | pub(crate) struct ClassSequenceRule {
[INFO] [stdout]      |                   ----------------- fields in this struct
[INFO] [stdout] 1121 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1122 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1123 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1124 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRule` 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: fields `chain_sub_class_set_count` and `chained_class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1129:16
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub(crate) struct ChaineClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1129 |     pub(crate) chain_sub_class_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1130 |     pub(crate) chained_class_seq_rules: Vec<ChaineClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1135:16
[INFO] [stdout]      |
[INFO] [stdout] 1134 | pub(crate) struct ChaineClassSequenceRule {
[INFO] [stdout]      |                   ----------------------- fields in this struct
[INFO] [stdout] 1135 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1136 |     pub(crate) backtrack_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1137 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1138 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1139 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1140 |     pub(crate) lookahead_class_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1141 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1142 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRule` 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: fields `subst_format`, `glyph_count`, `seq_lookup_count`, `coverages`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1147:16
[INFO] [stdout]      |
[INFO] [stdout] 1146 | pub(crate) struct ContextSubstitutionFormat3 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1147 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1148 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1149 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1150 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1151 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat3` 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: fields `subst_format`, `coverage`, `chain_sub_rule_set_count`, and `chain_sub_rule_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1157:16
[INFO] [stdout]      |
[INFO] [stdout] 1156 | pub(crate) struct ChainingContextSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1157 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1158 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1159 |     pub(crate) chain_sub_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1160 |     pub(crate) chain_sub_rule_set: Vec<ChainSubRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat1` 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: fields `chain_sub_rule_count` and `chain_sub_rule` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1165:16
[INFO] [stdout]      |
[INFO] [stdout] 1164 | pub(crate) struct ChainSubRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1165 |     pub(crate) chain_sub_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1166 |     pub(crate) chain_sub_rule: Vec<ChainSubRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1171:16
[INFO] [stdout]      |
[INFO] [stdout] 1170 | pub(crate) struct ChainSubRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1171 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1172 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1173 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1174 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1175 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1176 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1177 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1178 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRule` 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: fields `subst_format`, `class_range_count`, `class_range_records`, and `coverage` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1184:16
[INFO] [stdout]      |
[INFO] [stdout] 1183 | pub(crate) struct ChainingContextSubstitutionFormat2 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1184 |     pub(crate) subst_format: u16, // 2
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1185 |     pub(crate) class_range_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1186 |     pub(crate) class_range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1187 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat2` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1193:16
[INFO] [stdout]      |
[INFO] [stdout] 1192 | pub(crate) struct ChainingContextSubstitutionFormat3 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1193 |     pub(crate) format: u16, // 3
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 1194 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1195 |     pub(crate) backtrack_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1196 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1197 |     pub(crate) input_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1198 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1199 |     pub(crate) lookahead_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1200 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1201 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookup_records` is never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1206:16
[INFO] [stdout]      |
[INFO] [stdout] 1205 | pub(crate) struct SequenceLookupRecords {
[INFO] [stdout]      |                   --------------------- field in this struct
[INFO] [stdout] 1206 |     pub(crate) lookup_records: Vec<LookupRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceLookupRecords` 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: fields `sequence_index` and `lookup_list_index` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1211:16
[INFO] [stdout]      |
[INFO] [stdout] 1210 | pub struct LookupRecord {
[INFO] [stdout]      |            ------------ fields in this struct
[INFO] [stdout] 1211 |     pub(crate) sequence_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1212 |     pub(crate) lookup_list_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LookupRecord` 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: fields `subst_format`, `extension_lookup_type`, and `extension_offset` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1218:16
[INFO] [stdout]      |
[INFO] [stdout] 1217 | pub(crate) struct ExtensionSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1218 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1219 |     pub(crate) extension_lookup_type: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1220 |     pub(crate) extension_offset: u32,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ExtensionSubstitutionFormat1` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1226:16
[INFO] [stdout]      |
[INFO] [stdout] 1225 | pub(crate) struct ReverseChainSingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------------------- fields in this struct
[INFO] [stdout] 1226 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1227 |     pub(crate) coverage_offset: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1228 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1229 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1230 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1231 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1232 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1233 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1234 |     pub(crate) substitute_glyph_id: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ReverseChainSingleSubstitutionFormat1` 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: fields `script_tag` and `script_offset` are never read
[INFO] [stdout]  --> src/opentype/layouts/script.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct Script {
[INFO] [stdout]   |                   ------ fields in this struct
[INFO] [stdout] 7 |     pub(crate) script_tag: u32, // https://learn.microsoft.com/ja-jp/typography/opentype/spec/scripttags
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 8 |     pub(crate) script_offset: u64,
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Script` 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: fields `script_tag` and `language_systems` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ParsedScript {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 13 |     pub(crate) script_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) language_systems: Box<Vec<LanguageSystemRecord>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedScript` 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 items `parse` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/script.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ParsedScript {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 18 |     pub(crate) fn parse<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `script_count` and `scripts` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) struct ScriptList {
[INFO] [stdout]    |                   ---------- fields in this struct
[INFO] [stdout] 83 |     pub(crate) script_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 84 |     pub(crate) scripts: Box<Vec<ParsedScript>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptList` 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 items `new`, `get_script`, and `to_string` are never used
[INFO] [stdout]    --> src/opentype/layouts/script.rs:88:19
[INFO] [stdout]     |
[INFO] [stdout] 87  | impl ScriptList {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 88  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn get_script(&self, script_tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_sum` is never used
[INFO] [stdout]   --> src/util.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) fn check_sum(table: Vec<u8>) -> u32 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `table_records`, `metadata`, and `private_data` are never read
[INFO] [stdout]   --> src/woff/woff.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) struct WOFF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 94 |     pub(crate) header: WOFFHeader,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 95 |     pub(crate) table_records: Vec<WOFFTableRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) metadata: Box<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) private_data: Box<Vec<u8>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WOFF` 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: methods `get_metadata` and `get_private_data` are never used
[INFO] [stdout]    --> src/woff/woff.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl WOFF {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn get_metadata(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn get_private_data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/opentype/platforms.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_PlatformID`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_UnicodeEncordingId`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_WindowsEndoridingId`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_MacintoshEncordingID`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_MacintoshLanguageID`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/opentype/platforms.rs:213:10
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_WindowsLanguageID`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(FromPrimitive, ToPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_LookupType`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(FromPrimitive, ToPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_ToPrimitive_FOR_LookupType`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1015:16
[INFO] [stdout]      |
[INFO] [stdout] 1009 | pub struct HorizontalLayout {
[INFO] [stdout]      |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1015 |     pub(crate) hhea: HHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HorizontalLayout` 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: field `vhea` is never read
[INFO] [stdout]     --> src/fontreader.rs:1025:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub struct VerticalLayout {
[INFO] [stdout]      |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1025 |     pub(crate) vhea: VHEA,
[INFO] [stdout]      |                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VerticalLayout` 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: function `font_debug` is never used
[INFO] [stdout]     --> src/fontreader.rs:1042:4
[INFO] [stdout]      |
[INFO] [stdout] 1042 | fn font_debug(_font: &Font) {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/opentype/requires/cmap.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl CMAP {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 21 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cmap` is never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) struct CmapEncodings {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 158 |     pub(crate) cmap: Box<CMAP>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapEncodings` 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: method `get_encoding_engine` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl CmapEncodings {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub(crate) fn get_encoding_engine(&self) -> Box<Vec<EncodingRecord>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FormatUnknown` is never constructed
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub(crate) enum CmapSubtable {
[INFO] [stdout]     |                 ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 368 |     FormatUnknown,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubtable` 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: fields `sub_headers` and `glyph_id_array` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:620:16
[INFO] [stdout]     |
[INFO] [stdout] 615 | pub(crate) struct CmapHighByteEncoding {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 620 |     pub(crate) sub_headers: Vec<CmapSubheader>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 621 |     pub(crate) glyph_id_array: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapHighByteEncoding` 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: fields `first_code`, `entry_count`, `id_delta`, and `id_range_offset` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:626:16
[INFO] [stdout]     |
[INFO] [stdout] 625 | pub(crate) struct CmapSubheader {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 626 |     pub(crate) first_code: u16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 627 |     pub(crate) entry_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 628 |     pub(crate) id_delta: i16,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 629 |     pub(crate) id_range_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmapSubheader` 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: fields `records`, `uvs`, and `substitute` are never read
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:871:16
[INFO] [stdout]     |
[INFO] [stdout] 870 | pub(crate) struct EncodingRecordPriority {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 871 |     pub(crate) records: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 872 |     pub(crate) uvs: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 873 |     pub(crate) substitute: Vec<EncodingRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EncodingRecordPriority` 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: function `select_encoding` is never used
[INFO] [stdout]    --> src/opentype/requires/cmap.rs:876:15
[INFO] [stdout]     |
[INFO] [stdout] 876 | pub(crate) fn select_encoding(encoding_records: &Vec<EncodingRecord>) -> EncodingRecordPriority {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WindowsLegcy` is never constructed
[INFO] [stdout]   --> src/opentype/requires/name.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum EncodingEngine {
[INFO] [stdout]    |      -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 85 |     WindowsLegcy,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `storage_offset` and `lang_tag_records` are never read
[INFO] [stdout]    --> src/opentype/requires/name.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) struct NAME {
[INFO] [stdout]     |                   ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) storage_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub(crate) lang_tag_records: Box<Vec<LangTagRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NAME` 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: multiple fields are never read
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct GDEF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 7  |     pub(crate) major_versionn: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) glyph_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) attach_list: Option<AttachPointList>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) lig_caret_list: Option<LigatureCaretList>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) mark_attach_class_def: Option<ClassDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     // 1.2
[INFO] [stdout] 14 |     pub(crate) mark_glyph_sets_def: Option<MarkGlyphSetsDef>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GDEF` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/extentions/gdef.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl GDEF {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new<R: BinaryReader>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage` and `attach_point` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:127:16
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) struct AttachPointList {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 127 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 128 |     pub(crate) attach_point: Vec<AttachPoint>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPointList` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl AttachPointList {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 132 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `point_indices` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:163:16
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) struct AttachPoint {
[INFO] [stdout]     |                   ----------- field in this struct
[INFO] [stdout] 163 |     pub(crate) point_indices: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttachPoint` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl AttachPoint {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 167 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage` and `lig_glyph` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:186:16
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub(crate) struct LigatureCaretList {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 186 |     pub(crate) coverage: Coverage,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 187 |     pub(crate) lig_glyph: Vec<LigatureGlyph>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureCaretList` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl LigatureCaretList {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 191 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:223:16
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub(crate) struct LigatureGlyph {
[INFO] [stdout]     |                   ------------- field in this struct
[INFO] [stdout] 223 |     pub(crate) caret_value: Vec<CaretValue>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LigatureGlyph` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl LigatureGlyph {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 227 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Format1`, `Format2`, and `Format3` are never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub(crate) enum CaretValue {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] 279 |     Format1(CaretValueFormat1),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 280 |     Format2(CaretValueFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 281 |     Format3(CaretValueFormat3),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `coordinate` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:286:16
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub(crate) struct CaretValueFormat1 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 286 |     pub(crate) coordinate: i16,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat1` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `caret_value_point` is never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:291:16
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct CaretValueFormat2 {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 291 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat2` 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: fields `caret_value_point` and `device_table` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:296:16
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub(crate) struct CaretValueFormat3 {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 296 |     pub(crate) caret_value_point: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |     pub(crate) device_table: Option<DeviceTable>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaretValueFormat3` 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: struct `VariationStore` is never constructed
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) struct VariationStore {}
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mark_set_table_format`, `mark_set_count`, and `coverages` are never read
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:304:16
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub(crate) struct MarkGlyphSetsDef {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 304 |     pub(crate) mark_set_table_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 305 |     pub(crate) mark_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 306 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarkGlyphSetsDef` 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 items `new` and `to_string` are never used
[INFO] [stdout]    --> src/opentype/extentions/gdef.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl MarkGlyphSetsDef {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 310 |     fn new<R: BinaryReader>(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, `scripts`, `features`, `lookups`, and `feature_variations` are never read
[INFO] [stdout]   --> src/opentype/extentions/gsub.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct GSUB {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 12 |     pub(crate) major_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub(crate) minor_version: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) scripts: Box<ScriptList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 15 |     pub(crate) features: Box<FeatureList>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 16 |     pub(crate) lookups: Box<LookupList>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 17 |     // version 1.1
[INFO] [stdout] 18 |     pub(crate) feature_variations: Option<Box<FeatureVariationList>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GSUB` 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: multiple associated items are never used
[INFO] [stdout]    --> src/opentype/extentions/gsub.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout] 21  | impl GSUB {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 22  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn get_script(&self, tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn get_features(&self, tag: &[u8; 4], script: &ParsedScript) -> Vec<&Feature> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn get_lookups(&self, feature: &Feature) -> Vec<&Lookup> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn lookup_ccmp(&self, glyph_id: usize) -> Option<Vec<u16>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn lookup_vertical(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn lookup_locale(&self, _griph_ids: usize, _locale: &String) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn lookup_liga(&self, _griph_ids: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn lookup_width(&self, _griph_ids: usize, _tag: u32) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn lookup_number(&self, _griph_ids: Vec<usize>) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/classdef.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) enum ClassDef {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 7 |     Format1(ClassDefFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 8 |     Format2(ClassDefFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ClassDef` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ClassDef {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 12 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_format`, `start_glyph_id`, `glyph_count`, and `class_value_array` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) struct ClassDefFormat1 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 79 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub(crate) glyph_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 82 |     pub(crate) class_value_array: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat1` 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: fields `class_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) struct ClassDefFormat2 {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 87 |     pub(crate) class_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub(crate) range_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 89 |     pub(crate) range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassDefFormat2` 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: fields `start_glyph_id`, `end_glyph_id`, and `class` are never read
[INFO] [stdout]   --> src/opentype/layouts/classdef.rs:95:16
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) struct ClassRangeRecord {
[INFO] [stdout]    |                   ---------------- fields in this struct
[INFO] [stdout] 95 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) class: u16,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassRangeRecord` 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: fields `format`, `axis_index`, `filter_range_min_value`, and `filter_range_max_value` are never read
[INFO] [stdout]  --> src/opentype/layouts/condition.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct ConditionTable {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) format: u16,
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 4 |     pub(crate) axis_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) filter_range_min_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) filter_range_max_value: f32,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConditionTable` 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: fields `condition_count` and `conditions` are never read
[INFO] [stdout]   --> src/opentype/layouts/condition.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) struct ConditionSet {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 11 |     pub(crate) condition_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) conditions: Box<Vec<ConditionTable>>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionSet` 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 `Format1` and `Format2` are never constructed
[INFO] [stdout]  --> src/opentype/layouts/coverage.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum Coverage {
[INFO] [stdout]   |                 -------- variants in this enum
[INFO] [stdout] 8 |     Format1(CoverageFormat1),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 9 |     Format2(CoverageFormat2),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Coverage` 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 items `contains`, `to_string`, and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/coverage.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Coverage {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub(crate) fn contains(&self, glyph_id: usize) -> Option<usize> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coverage_format`, `glyph_count`, and `glyph_ids` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) struct CoverageFormat1 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 116 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     pub(crate) glyph_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) glyph_ids: Vec<u16>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat1` 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: fields `coverage_format`, `range_count`, and `range_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) struct CoverageFormat2 {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 123 |     pub(crate) coverage_format: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     pub(crate) range_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 125 |     pub(crate) range_records: Vec<RangeRecord>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoverageFormat2` 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: fields `start_glyph_id`, `end_glyph_id`, and `start_coverage_index` are never read
[INFO] [stdout]    --> src/opentype/layouts/coverage.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) struct RangeRecord {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 130 |     pub(crate) start_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub(crate) end_glyph_id: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub(crate) start_coverage_index: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeRecord` 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: fields `start_size`, `end_size`, `delta_format`, and `delta_value` are never read
[INFO] [stdout]   --> src/opentype/layouts/device.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct DeviceTable {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) start_size: u16,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 8  |     pub(crate) end_size: u16,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) delta_format: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) delta_value: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceTable` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/device.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl DeviceTable {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 14 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_tag`, `feature_offset`, `feature_params`, and `lookup_list_indices` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) struct Feature {
[INFO] [stdout]    |                   ------- fields in this struct
[INFO] [stdout] 7  |     pub(crate) feature_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 8  |     feature_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub(crate) feature_params: Option<FeatureParams>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) lookup_list_indices: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Feature` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Feature {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_params` is never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct FeatureParams {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] 32 |     pub(crate) feature_params: Vec<u8>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureParams` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl FeatureParams {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 36 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_count` and `features` are never read
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct FeatureList {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 47 |     pub(crate) feature_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub(crate) features: Box<Vec<Feature>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FeatureList` 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 items `new` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/feature.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl FeatureList {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 52 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, length: u32) -> FeatureList {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `major_version`, `minor_version`, and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:104:16
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub(crate) struct FeatureVariation {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 104 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 105 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     pub(crate) feature_variations: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariation` 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: fields `condition_set_offset` and `feature_table_substitution_offset` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) struct FeatureVariationRecord {
[INFO] [stdout]     |                   ---------------------- fields in this struct
[INFO] [stdout] 111 |     pub(crate) condition_set_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     pub(crate) feature_table_substitution_offset: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecord` 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: fields `major_version`, `minor_version`, `condition_set_count`, `condition_sets`, and `feature_table_substitutions` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:117:16
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) struct FeatureVariations {
[INFO] [stdout]     |                   ----------------- fields in this struct
[INFO] [stdout] 117 |     pub(crate) major_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 118 |     pub(crate) minor_version: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 119 |     pub(crate) condition_set_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     pub(crate) condition_sets: Box<Vec<ConditionSet>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 121 |     pub(crate) feature_table_substitutions: Box<Vec<FeatureTableSubstitution>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariations` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl FeatureVariations {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 124 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_table_substitution` is never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:170:16
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub(crate) struct FeatureTableSubstitution {
[INFO] [stdout]     |                   ------------------------ field in this struct
[INFO] [stdout] 170 |     pub(crate) feature_table_substitution: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureTableSubstitution` 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: fields `feature_variation_record_count` and `feature_variation_records` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:175:16
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) struct FeatureVariationRecordList {
[INFO] [stdout]     |                   -------------------------- fields in this struct
[INFO] [stdout] 175 |     pub(crate) feature_variation_record_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     pub(crate) feature_variation_records: Box<Vec<FeatureVariationRecord>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationRecordList` 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: fields `feature_variation_count` and `feature_variations` are never read
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(crate) struct FeatureVariationList {
[INFO] [stdout]     |                   -------------------- fields in this struct
[INFO] [stdout] 181 |     pub(crate) feature_variation_count: u16,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub(crate) feature_variations: Vec<FeatureVariation>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeatureVariationList` 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 `new` is never used
[INFO] [stdout]    --> src/opentype/layouts/feature.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl FeatureVariationList {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 185 |     pub(crate) fn new<R: BinaryReader>(reader: &mut R, offset: u64, _length: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookup_order_offset`, `required_feature_index`, `feature_index_count`, and `feature_indexes` are never read
[INFO] [stdout]  --> src/opentype/layouts/language.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct LanguageSystem {
[INFO] [stdout]   |                   -------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) lookup_order_offset: u16, // 0
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     pub(crate) required_feature_index: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     pub(crate) feature_index_count: u16,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub(crate) feature_indexes: Vec<u16>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LanguageSystem` 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: method `to_string` is never used
[INFO] [stdout]  --> src/opentype/layouts/language.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl LanguageSystem {
[INFO] [stdout]   | ------------------- method in this implementation
[INFO] [stdout] 9 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `language_system_tag` and `language_system` are never read
[INFO] [stdout]   --> src/opentype/layouts/language.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct LanguageSystemRecord {
[INFO] [stdout]    |                   -------------------- fields in this struct
[INFO] [stdout] 21 |     pub(crate) language_system_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) language_system: LanguageSystem,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LanguageSystemRecord` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/language.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl LanguageSystemRecord {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 26 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookups` is never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub(crate) struct LookupList {
[INFO] [stdout]    |                   ---------- field in this struct
[INFO] [stdout] 10 |     pub(crate) lookups: Box<Vec<Lookup>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupList` 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: method `to_string` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LookupList {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 14 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookup_type`, `lookup_flag`, and `subtables` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct Lookup {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 25 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 26 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 27 |     pub(crate) subtables: Vec<LookupSubstitution>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lookup` 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 items `to_string` and `new` are never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Lookup {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 31 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `lookup_type`, `lookup_flag`, and `subtable_offsets` are never read
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) struct LookupRaw {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 84 |     pub(crate) offset: u64,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 85 |     pub(crate) lookup_type: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 86 |     pub(crate) lookup_flag: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 87 |     pub(crate) subtable_offsets: Vec<u16>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LookupRaw` 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 `new` is never used
[INFO] [stdout]   --> src/opentype/layouts/lookup.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl LookupRaw {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 91 |     fn new<R: BinaryReader>(reader: &mut R, offset: u64) -> Result<Self, std::io::Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RightToLeft`, `IgnoreBaseGlyphs`, `IgnoreLigatures`, `IgnoreMarks`, and `UseMarkFilteringSet` are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum LookupFlag {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 126 |     RightToLeft = 0x0001,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 127 |     IgnoreBaseGlyphs = 0x0002,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     IgnoreLigatures = 0x0004,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     IgnoreMarks = 0x0008,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 130 |     UseMarkFilteringSet = 0x0010,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupFlag` 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: multiple associated functions are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl LookupList {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] 134 |     pub(crate) fn get<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn get_single<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn get_multiple<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn get_alternate<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn get_ligature<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn get_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn get_context_format1<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn get_class_def<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn get_context_format2<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     fn get_class_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     fn get_class_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     fn get_seq_rule_set<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn get_seq_rule<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn get_context_format3<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 572 |     fn get_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     fn get_coverage<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 748 |     fn get_extension<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 778 |     fn get_reverse_chaining_context<R: BinaryReader>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:820:5
[INFO] [stdout]     |
[INFO] [stdout] 818 | pub(crate) enum LookupSubstitution {
[INFO] [stdout]     |                 ------------------ variants in this enum
[INFO] [stdout] 819 |     // Lookup Type 1: Single Substitution Subtable
[INFO] [stdout] 820 |     Single(SingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 821 |     Single2(SingleSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 822 |     // Lookup Type 2: Multiple Substitution Subtable
[INFO] [stdout] 823 |     Multiple(MultipleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 824 |     // Lookup Type 3: Alternate Substitution Subtable
[INFO] [stdout] 825 |     Alternate(AlternateSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 826 |     // Lookup Type 4: Ligature Substitution Subtable
[INFO] [stdout] 827 |     Ligature(LigatureSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 |     ContextSubstitution(ContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 831 |     // 5.2
[INFO] [stdout] 832 |     ContextSubstitution2(ContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 833 |     // 5.3
[INFO] [stdout] 834 |     ContextSubstitution3(ContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 835 |     // Lookup Type 6: Chaining Contextual Substitution Subtable
[INFO] [stdout] 836 |     ChainingContextSubstitution(ChainingContextSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 837 |     ChainingContextSubstitution2(ChainingContextSubstitutionFormat2),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 838 |     ChainingContextSubstitution3(ChainingContextSubstitutionFormat3),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 839 |     // Lookup Type 7: Extension Substitution Subtable
[INFO] [stdout] 840 |     ExtensionSubstitution(ExtensionSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 841 |     // Lookup Type 8: Reverse Chaining Contextual Single Substitution Subtable
[INFO] [stdout] 842 |     ReverseChainSingle(ReverseChainSingleSubstitutionFormat1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 843 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LookupSubstitution` 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: enum `LookupResult` is never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 | pub(crate) enum LookupResult {
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string`, `get_coverage`, `get_single_glyph_id`, and `get_lookup` are never used
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:857:19
[INFO] [stdout]     |
[INFO] [stdout] 856 | impl LookupSubstitution {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 857 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub(crate) fn get_coverage(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 892 |     pub(crate) fn get_single_glyph_id(&self, glyph_id: u16) -> Option<u16> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 912 |     pub(crate) fn get_lookup(&self, gliph_id: usize) -> LookupResult {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `subst_format`, `coverage`, and `delta_glyph_id` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1020:16
[INFO] [stdout]      |
[INFO] [stdout] 1019 | pub(crate) struct SingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1020 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1021 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1022 |     pub(crate) delta_glyph_id: i16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat1` 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: fields `subst_format`, `coverage`, `glyph_count`, and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1027:16
[INFO] [stdout]      |
[INFO] [stdout] 1026 | pub(crate) struct SingleSubstitutionFormat2 {
[INFO] [stdout]      |                   ------------------------- fields in this struct
[INFO] [stdout] 1027 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1028 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1029 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1030 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SingleSubstitutionFormat2` 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: fields `subst_format`, `coverage`, `sequence_count`, and `sequence_tables` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1035:16
[INFO] [stdout]      |
[INFO] [stdout] 1034 | pub(crate) struct MultipleSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1035 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1036 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1037 |     pub(crate) sequence_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1038 |     pub(crate) sequence_tables: Vec<SequenceTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MultipleSubstitutionFormat1` 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: fields `glyph_count` and `substitute_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1043:16
[INFO] [stdout]      |
[INFO] [stdout] 1042 | pub(crate) struct SequenceTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1043 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1044 |     pub(crate) substitute_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceTable` 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: fields `subst_format`, `coverage`, `alternate_set_count`, and `alternate_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1049:16
[INFO] [stdout]      |
[INFO] [stdout] 1048 | pub(crate) struct AlternateSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1049 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1050 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1051 |     pub(crate) alternate_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1052 |     pub(crate) alternate_set: Vec<AlternateSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSubstitutionFormat1` 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: fields `glyph_count` and `alternate_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1057:16
[INFO] [stdout]      |
[INFO] [stdout] 1056 | pub(crate) struct AlternateSet {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1057 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1058 |     pub(crate) alternate_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AlternateSet` 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: fields `subst_format`, `coverage`, `ligature_set_count`, and `ligature_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1063:16
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub(crate) struct LigatureSubstitutionFormat1 {
[INFO] [stdout]      |                   --------------------------- fields in this struct
[INFO] [stdout] 1063 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1064 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1065 |     pub(crate) ligature_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1066 |     pub(crate) ligature_set: Vec<LigatureSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSubstitutionFormat1` 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: fields `ligature_count` and `ligature_table` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1071:16
[INFO] [stdout]      |
[INFO] [stdout] 1070 | pub(crate) struct LigatureSet {
[INFO] [stdout]      |                   ----------- fields in this struct
[INFO] [stdout] 1071 |     pub(crate) ligature_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1072 |     pub(crate) ligature_table: Vec<LigatureTable>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureSet` 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: fields `ligature_glyph`, `component_count`, and `component_glyph_ids` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1077:16
[INFO] [stdout]      |
[INFO] [stdout] 1076 | pub(crate) struct LigatureTable {
[INFO] [stdout]      |                   ------------- fields in this struct
[INFO] [stdout] 1077 |     pub(crate) ligature_glyph: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1078 |     pub(crate) component_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1079 |     pub(crate) component_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LigatureTable` 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: fields `subst_format`, `coverage`, `rule_set_count`, and `rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1084:16
[INFO] [stdout]      |
[INFO] [stdout] 1083 | pub(crate) struct ContextSubstitutionFormat1 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1084 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1085 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1086 |     pub(crate) rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1087 |     pub(crate) rule_sets: Vec<SequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat1` 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: fields `rule_count` and `rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1092:16
[INFO] [stdout]      |
[INFO] [stdout] 1091 | pub(crate) struct SequenceRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1092 |     pub(crate) rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^
[INFO] [stdout] 1093 |     pub(crate) rules: Vec<SequenceRule>,
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRuleSet` 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: fields `glyph_count`, `input_sequence`, `lookup_count`, and `lookup_indexes` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1098:16
[INFO] [stdout]      |
[INFO] [stdout] 1097 | pub(crate) struct SequenceRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1098 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1099 |     pub(crate) input_sequence: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1100 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1101 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceRule` 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: fields `subst_format`, `coverage`, `class_def`, `class_seq_rule_set_count`, and `class_seq_rule_sets` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1106:16
[INFO] [stdout]      |
[INFO] [stdout] 1105 | pub(crate) struct ContextSubstitutionFormat2 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1106 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1107 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1108 |     pub(crate) class_def: ClassDef,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1109 |     pub(crate) class_seq_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1110 |     pub(crate) class_seq_rule_sets: Vec<ClassSequenceRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat2` 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: fields `class_seq_rule_count` and `class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1115:16
[INFO] [stdout]      |
[INFO] [stdout] 1114 | pub(crate) struct ClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------- fields in this struct
[INFO] [stdout] 1115 |     pub(crate) class_seq_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1116 |     pub(crate) class_seq_rules: Vec<ClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRuleSet` 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: fields `glyph_count`, `seq_lookup_count`, `input_sequences`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1121:16
[INFO] [stdout]      |
[INFO] [stdout] 1120 | pub(crate) struct ClassSequenceRule {
[INFO] [stdout]      |                   ----------------- fields in this struct
[INFO] [stdout] 1121 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1122 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1123 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1124 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClassSequenceRule` 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: fields `chain_sub_class_set_count` and `chained_class_seq_rules` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1129:16
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub(crate) struct ChaineClassSequenceRuleSet {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1129 |     pub(crate) chain_sub_class_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1130 |     pub(crate) chained_class_seq_rules: Vec<ChaineClassSequenceRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1135:16
[INFO] [stdout]      |
[INFO] [stdout] 1134 | pub(crate) struct ChaineClassSequenceRule {
[INFO] [stdout]      |                   ----------------------- fields in this struct
[INFO] [stdout] 1135 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1136 |     pub(crate) backtrack_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1137 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1138 |     pub(crate) input_sequences: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1139 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1140 |     pub(crate) lookahead_class_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1141 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1142 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChaineClassSequenceRule` 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: fields `subst_format`, `glyph_count`, `seq_lookup_count`, `coverages`, and `seq_lookup_records` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1147:16
[INFO] [stdout]      |
[INFO] [stdout] 1146 | pub(crate) struct ContextSubstitutionFormat3 {
[INFO] [stdout]      |                   -------------------------- fields in this struct
[INFO] [stdout] 1147 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1148 |     pub(crate) glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout] 1149 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1150 |     pub(crate) coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^
[INFO] [stdout] 1151 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ContextSubstitutionFormat3` 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: fields `subst_format`, `coverage`, `chain_sub_rule_set_count`, and `chain_sub_rule_set` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1157:16
[INFO] [stdout]      |
[INFO] [stdout] 1156 | pub(crate) struct ChainingContextSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1157 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1158 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout] 1159 |     pub(crate) chain_sub_rule_set_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1160 |     pub(crate) chain_sub_rule_set: Vec<ChainSubRuleSet>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat1` 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: fields `chain_sub_rule_count` and `chain_sub_rule` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1165:16
[INFO] [stdout]      |
[INFO] [stdout] 1164 | pub(crate) struct ChainSubRuleSet {
[INFO] [stdout]      |                   --------------- fields in this struct
[INFO] [stdout] 1165 |     pub(crate) chain_sub_rule_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1166 |     pub(crate) chain_sub_rule: Vec<ChainSubRule>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRuleSet` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1171:16
[INFO] [stdout]      |
[INFO] [stdout] 1170 | pub(crate) struct ChainSubRule {
[INFO] [stdout]      |                   ------------ fields in this struct
[INFO] [stdout] 1171 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1172 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1173 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1174 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1175 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1176 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1177 |     pub(crate) lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1178 |     pub(crate) lookup_indexes: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSubRule` 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: fields `subst_format`, `class_range_count`, `class_range_records`, and `coverage` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1184:16
[INFO] [stdout]      |
[INFO] [stdout] 1183 | pub(crate) struct ChainingContextSubstitutionFormat2 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1184 |     pub(crate) subst_format: u16, // 2
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1185 |     pub(crate) class_range_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1186 |     pub(crate) class_range_records: Vec<ClassRangeRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1187 |     pub(crate) coverage: Coverage,
[INFO] [stdout]      |                ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat2` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1193:16
[INFO] [stdout]      |
[INFO] [stdout] 1192 | pub(crate) struct ChainingContextSubstitutionFormat3 {
[INFO] [stdout]      |                   ---------------------------------- fields in this struct
[INFO] [stdout] 1193 |     pub(crate) format: u16, // 3
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 1194 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1195 |     pub(crate) backtrack_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1196 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1197 |     pub(crate) input_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1198 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1199 |     pub(crate) lookahead_coverages: Vec<Coverage>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1200 |     pub(crate) seq_lookup_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1201 |     pub(crate) seq_lookup_records: SequenceLookupRecords,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainingContextSubstitutionFormat3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookup_records` is never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1206:16
[INFO] [stdout]      |
[INFO] [stdout] 1205 | pub(crate) struct SequenceLookupRecords {
[INFO] [stdout]      |                   --------------------- field in this struct
[INFO] [stdout] 1206 |     pub(crate) lookup_records: Vec<LookupRecord>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SequenceLookupRecords` 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: fields `sequence_index` and `lookup_list_index` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1211:16
[INFO] [stdout]      |
[INFO] [stdout] 1210 | pub struct LookupRecord {
[INFO] [stdout]      |            ------------ fields in this struct
[INFO] [stdout] 1211 |     pub(crate) sequence_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^
[INFO] [stdout] 1212 |     pub(crate) lookup_list_index: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LookupRecord` 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: fields `subst_format`, `extension_lookup_type`, and `extension_offset` are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1218:16
[INFO] [stdout]      |
[INFO] [stdout] 1217 | pub(crate) struct ExtensionSubstitutionFormat1 {
[INFO] [stdout]      |                   ---------------------------- fields in this struct
[INFO] [stdout] 1218 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1219 |     pub(crate) extension_lookup_type: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1220 |     pub(crate) extension_offset: u32,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ExtensionSubstitutionFormat1` 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: multiple fields are never read
[INFO] [stdout]     --> src/opentype/layouts/lookup.rs:1226:16
[INFO] [stdout]      |
[INFO] [stdout] 1225 | pub(crate) struct ReverseChainSingleSubstitutionFormat1 {
[INFO] [stdout]      |                   ------------------------------------- fields in this struct
[INFO] [stdout] 1226 |     pub(crate) subst_format: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^
[INFO] [stdout] 1227 |     pub(crate) coverage_offset: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1228 |     pub(crate) backtrack_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1229 |     pub(crate) backtrack_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1230 |     pub(crate) input_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1231 |     pub(crate) input_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 1232 |     pub(crate) lookahead_glyph_count: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1233 |     pub(crate) lookahead_glyph_ids: Vec<u16>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1234 |     pub(crate) substitute_glyph_id: u16,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ReverseChainSingleSubstitutionFormat1` 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: fields `script_tag` and `script_offset` are never read
[INFO] [stdout]  --> src/opentype/layouts/script.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct Script {
[INFO] [stdout]   |                   ------ fields in this struct
[INFO] [stdout] 7 |     pub(crate) script_tag: u32, // https://learn.microsoft.com/ja-jp/typography/opentype/spec/scripttags
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 8 |     pub(crate) script_offset: u64,
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Script` 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: fields `script_tag` and `language_systems` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ParsedScript {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 13 |     pub(crate) script_tag: u32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 14 |     pub(crate) language_systems: Box<Vec<LanguageSystemRecord>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedScript` 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 items `parse` and `to_string` are never used
[INFO] [stdout]   --> src/opentype/layouts/script.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ParsedScript {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 18 |     pub(crate) fn parse<R: BinaryReader>(
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `script_count` and `scripts` are never read
[INFO] [stdout]   --> src/opentype/layouts/script.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) struct ScriptList {
[INFO] [stdout]    |                   ---------- fields in this struct
[INFO] [stdout] 83 |     pub(crate) script_count: u16,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 84 |     pub(crate) scripts: Box<Vec<ParsedScript>>,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptList` 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 items `new`, `get_script`, and `to_string` are never used
[INFO] [stdout]    --> src/opentype/layouts/script.rs:88:19
[INFO] [stdout]     |
[INFO] [stdout] 87  | impl ScriptList {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 88  |     pub(crate) fn new<R: BinaryReader>(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) fn get_script(&self, script_tag: &[u8; 4]) -> Option<&ParsedScript> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(crate) fn to_string(&self) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_sum` is never used
[INFO] [stdout]   --> src/util.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) fn check_sum(table: Vec<u8>) -> u32 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `table_records`, `metadata`, and `private_data` are never read
[INFO] [stdout]   --> src/woff/woff.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) struct WOFF {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 94 |     pub(crate) header: WOFFHeader,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 95 |     pub(crate) table_records: Vec<WOFFTableRecord>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 96 |     pub(crate) metadata: Box<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 97 |     pub(crate) private_data: Box<Vec<u8>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WOFF` 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: methods `get_metadata` and `get_private_data` are never used
[INFO] [stdout]    --> src/woff/woff.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl WOFF {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn get_metadata(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn get_private_data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 113 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/opentype/platforms.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_PlatformID`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_UnicodeEncordingId`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_WindowsEndoridingId`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_MacintoshEncordingID`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/opentype/platforms.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_MacintoshLanguageID`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/opentype/platforms.rs:213:10
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(FromPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_WindowsLanguageID`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(FromPrimitive, ToPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_LookupType`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/opentype/layouts/lookup.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(FromPrimitive, ToPrimitive, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug)]
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_ToPrimitive_FOR_LookupType`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fontloader` (lib) due to 9 previous errors; 113 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 8 previous errors; 113 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fontloader` (lib test) due to 9 previous errors; 113 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a365be996e20d2552d9527ebb300fbb4e4d9462d99223f5c47978b6106d8d6c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a365be996e20d2552d9527ebb300fbb4e4d9462d99223f5c47978b6106d8d6c6", kill_on_drop: false }`
[INFO] [stdout] a365be996e20d2552d9527ebb300fbb4e4d9462d99223f5c47978b6106d8d6c6
