[INFO] fetching crate titanf 1.2.4... [INFO] testing titanf-1.2.4 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8 [INFO] extracting crate titanf 1.2.4 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate titanf 1.2.4 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate titanf 1.2.4 [INFO] tweaked toml for crates.io crate titanf 1.2.4 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate titanf 1.2.4 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate titanf 1.2.4 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded criterion v0.7.0 [INFO] [stderr] Downloaded clap_builder v4.5.49 [INFO] [stderr] Downloaded clap v4.5.49 [INFO] [stderr] Downloaded criterion-plot v0.6.0 [INFO] [stderr] Downloaded clap_lex v0.7.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3607bf77c9d87a03a69f869160cfbde68cb2f6b24da3dce731d594edd7b31c72 [INFO] running `Command { std: "docker" "start" "-a" "3607bf77c9d87a03a69f869160cfbde68cb2f6b24da3dce731d594edd7b31c72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3607bf77c9d87a03a69f869160cfbde68cb2f6b24da3dce731d594edd7b31c72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3607bf77c9d87a03a69f869160cfbde68cb2f6b24da3dce731d594edd7b31c72", kill_on_drop: false }` [INFO] [stdout] 3607bf77c9d87a03a69f869160cfbde68cb2f6b24da3dce731d594edd7b31c72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8d7379cd5467c5640fc104b99ad42f472347a53a2560e65537709f65f792c11d [INFO] running `Command { std: "docker" "start" "-a" "8d7379cd5467c5640fc104b99ad42f472347a53a2560e65537709f65f792c11d", kill_on_drop: false }` [INFO] [stderr] Compiling titanf v1.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::tables::glyf::Glyph` [INFO] [stdout] --> src/rasterizer/dda.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tables::glyf::Glyph; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tables/cmap.rs:379:52 [INFO] [stdout] | [INFO] [stdout] 379 | ... let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 379 - let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] 379 + let glyph_offset = codepoint - group.start_char_code; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tables/cmap.rs:388:52 [INFO] [stdout] | [INFO] [stdout] 388 | ... let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 388 - let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] 388 + let glyph_offset = codepoint - group.start_char_code; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:14:55 [INFO] [stdout] | [INFO] [stdout] 14 | let n_tables = get_u16_be(font_bytes, (offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 14 - let n_tables = get_u16_be(font_bytes, (offset + 2)); [INFO] [stdout] 14 + let n_tables = get_u16_be(font_bytes, offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:20:57 [INFO] [stdout] | [INFO] [stdout] 20 | let length = get_u16_be(font_bytes, (subtable_offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 20 - let length = get_u16_be(font_bytes, (subtable_offset + 2)); [INFO] [stdout] 20 + let length = get_u16_be(font_bytes, subtable_offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:21:59 [INFO] [stdout] | [INFO] [stdout] 21 | let coverage = get_u16_be(font_bytes, (subtable_offset + 4)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - let coverage = get_u16_be(font_bytes, (subtable_offset + 4)); [INFO] [stdout] 21 + let coverage = get_u16_be(font_bytes, subtable_offset + 4 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:27:62 [INFO] [stdout] | [INFO] [stdout] 27 | let n_pairs = get_u16_be(font_bytes, (subtable_offset + 6)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - let n_pairs = get_u16_be(font_bytes, (subtable_offset + 6)); [INFO] [stdout] 27 + let n_pairs = get_u16_be(font_bytes, subtable_offset + 6 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:32:64 [INFO] [stdout] | [INFO] [stdout] 32 | ... let right = get_u16_be(font_bytes, (pair_offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - let right = get_u16_be(font_bytes, (pair_offset + 2)); [INFO] [stdout] 32 + let right = get_u16_be(font_bytes, pair_offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:33:64 [INFO] [stdout] | [INFO] [stdout] 33 | ... let value = get_i16_be(font_bytes, (pair_offset + 4)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - let value = get_i16_be(font_bytes, (pair_offset + 4)); [INFO] [stdout] 33 + let value = get_i16_be(font_bytes, pair_offset + 4 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x_cross` is never read [INFO] [stdout] --> src/rasterizer/dda.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | x_cross += line.dx_sign; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y_cross` is never read [INFO] [stdout] --> src/rasterizer/dda.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | y_cross += line.dy_sign; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/tables/glyf.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 452 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/tables/glyf.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 375 | Format0 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 392 | Format4 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 414 | Format6 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 432 | Format12 { data, .. } => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 452 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/tables/kern.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | let version = get_u16_be(font_bytes, offset); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/tables/kern.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | let version = get_u16_be(font_bytes, subtable_offset); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROUND_XY_TO_GRID` is never used [INFO] [stdout] --> src/tables/glyf.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const ROUND_XY_TO_GRID: u16 = 0x0004; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `y_min` and `x_max` are never read [INFO] [stdout] --> src/tables/glyf.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) struct SimpleGlyph { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SimpleGlyph` has 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 `number_of_contours`, `x_min`, `y_min`, `x_max`, and `end_pts_of_contours` are never read [INFO] [stdout] --> src/tables/glyf.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) struct CompositeGlyph { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 37 | pub(crate) number_of_contours: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub(crate) x_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 40 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub(crate) end_pts_of_contours: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompositeGlyph` has 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_x_min`, `get_x_max`, `get_y_min`, `get_y_max`, and `get_contour_end_points` are never used [INFO] [stdout] --> src/tables/glyf.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 115 | impl ProtoGlyph { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 116 | pub(crate) fn get_x_min(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub(crate) fn get_x_max(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub(crate) fn get_y_min(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub(crate) fn get_y_max(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub(crate) fn get_contour_end_points(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/tables/head.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) struct HeadTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub(crate) modified: i64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 20 | pub(crate) x_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | pub(crate) y_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | pub(crate) mac_style: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | pub(crate) lowest_rec_ppem: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub(crate) font_direction_hint: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | pub(crate) index_to_loc_format: i16, [INFO] [stdout] 28 | pub(crate) glyph_data_format: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeadTable` has 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/tables/hhea.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) struct HheaTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 9 | pub major_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub minor_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub ascender: i16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 12 | pub descender: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub line_gap: i16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | pub advance_width_max: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub min_left_side_bearing: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub min_right_side_bearing: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub x_max_extent: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | pub caret_slope_rise: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub caret_slope_run: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub caret_offset: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 21 | pub reserved1: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | pub reserved2: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 23 | pub reserved3: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | pub reserved4: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | pub metric_data_format: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HheaTable` has 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/tables/maxp.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) struct MaxpTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 5 | pub(crate) version: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | pub(crate) max_points: u16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | pub(crate) max_contours: u16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub(crate) max_composite_points: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub(crate) max_composite_contours: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub(crate) max_zones: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub(crate) max_twilight_points: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub(crate) max_storage: u16, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | pub(crate) max_function_defs: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub(crate) max_instruction_defs: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub(crate) max_stack_elements: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | pub(crate) max_size_of_instructions: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub(crate) max_component_elements: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub(crate) max_component_depth: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MaxpTable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.78s [INFO] running `Command { std: "docker" "inspect" "8d7379cd5467c5640fc104b99ad42f472347a53a2560e65537709f65f792c11d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d7379cd5467c5640fc104b99ad42f472347a53a2560e65537709f65f792c11d", kill_on_drop: false }` [INFO] [stdout] 8d7379cd5467c5640fc104b99ad42f472347a53a2560e65537709f65f792c11d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8e44b33d97e88a0764b507b3f955f1671e0c638bafb249ff765413ba459a3bf4 [INFO] running `Command { std: "docker" "start" "-a" "8e44b33d97e88a0764b507b3f955f1671e0c638bafb249ff765413ba459a3bf4", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling ttf-parser v0.15.2 [INFO] [stderr] Compiling ttf-parser v0.25.1 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.10 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling ttf-parser v0.21.1 [INFO] [stdout] warning: unused import: `crate::tables::glyf::Glyph` [INFO] [stdout] --> src/rasterizer/dda.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tables::glyf::Glyph; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tables/cmap.rs:379:52 [INFO] [stdout] | [INFO] [stdout] 379 | ... let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 379 - let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] 379 + let glyph_offset = codepoint - group.start_char_code; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tables/cmap.rs:388:52 [INFO] [stdout] | [INFO] [stdout] 388 | ... let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 388 - let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] 388 + let glyph_offset = codepoint - group.start_char_code; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:14:55 [INFO] [stdout] | [INFO] [stdout] 14 | let n_tables = get_u16_be(font_bytes, (offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 14 - let n_tables = get_u16_be(font_bytes, (offset + 2)); [INFO] [stdout] 14 + let n_tables = get_u16_be(font_bytes, offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:20:57 [INFO] [stdout] | [INFO] [stdout] 20 | let length = get_u16_be(font_bytes, (subtable_offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 20 - let length = get_u16_be(font_bytes, (subtable_offset + 2)); [INFO] [stdout] 20 + let length = get_u16_be(font_bytes, subtable_offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:21:59 [INFO] [stdout] | [INFO] [stdout] 21 | let coverage = get_u16_be(font_bytes, (subtable_offset + 4)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - let coverage = get_u16_be(font_bytes, (subtable_offset + 4)); [INFO] [stdout] 21 + let coverage = get_u16_be(font_bytes, subtable_offset + 4 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:27:62 [INFO] [stdout] | [INFO] [stdout] 27 | let n_pairs = get_u16_be(font_bytes, (subtable_offset + 6)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - let n_pairs = get_u16_be(font_bytes, (subtable_offset + 6)); [INFO] [stdout] 27 + let n_pairs = get_u16_be(font_bytes, subtable_offset + 6 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:32:64 [INFO] [stdout] | [INFO] [stdout] 32 | ... let right = get_u16_be(font_bytes, (pair_offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - let right = get_u16_be(font_bytes, (pair_offset + 2)); [INFO] [stdout] 32 + let right = get_u16_be(font_bytes, pair_offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:33:64 [INFO] [stdout] | [INFO] [stdout] 33 | ... let value = get_i16_be(font_bytes, (pair_offset + 4)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - let value = get_i16_be(font_bytes, (pair_offset + 4)); [INFO] [stdout] 33 + let value = get_i16_be(font_bytes, pair_offset + 4 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x_cross` is never read [INFO] [stdout] --> src/rasterizer/dda.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | x_cross += line.dx_sign; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y_cross` is never read [INFO] [stdout] --> src/rasterizer/dda.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | y_cross += line.dy_sign; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/tables/glyf.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 452 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/tables/glyf.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 375 | Format0 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 392 | Format4 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 414 | Format6 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 432 | Format12 { data, .. } => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 452 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/tables/kern.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | let version = get_u16_be(font_bytes, offset); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/tables/kern.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | let version = get_u16_be(font_bytes, subtable_offset); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROUND_XY_TO_GRID` is never used [INFO] [stdout] --> src/tables/glyf.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const ROUND_XY_TO_GRID: u16 = 0x0004; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `y_min` and `x_max` are never read [INFO] [stdout] --> src/tables/glyf.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) struct SimpleGlyph { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SimpleGlyph` has 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 `number_of_contours`, `x_min`, `y_min`, `x_max`, and `end_pts_of_contours` are never read [INFO] [stdout] --> src/tables/glyf.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) struct CompositeGlyph { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 37 | pub(crate) number_of_contours: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub(crate) x_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 40 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub(crate) end_pts_of_contours: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompositeGlyph` has 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_x_min`, `get_x_max`, `get_y_min`, `get_y_max`, and `get_contour_end_points` are never used [INFO] [stdout] --> src/tables/glyf.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 115 | impl ProtoGlyph { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 116 | pub(crate) fn get_x_min(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub(crate) fn get_x_max(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub(crate) fn get_y_min(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub(crate) fn get_y_max(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub(crate) fn get_contour_end_points(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/tables/head.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) struct HeadTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub(crate) modified: i64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 20 | pub(crate) x_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | pub(crate) y_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | pub(crate) mac_style: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | pub(crate) lowest_rec_ppem: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub(crate) font_direction_hint: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | pub(crate) index_to_loc_format: i16, [INFO] [stdout] 28 | pub(crate) glyph_data_format: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeadTable` has 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/tables/hhea.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) struct HheaTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 9 | pub major_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub minor_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub ascender: i16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 12 | pub descender: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub line_gap: i16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | pub advance_width_max: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub min_left_side_bearing: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub min_right_side_bearing: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub x_max_extent: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | pub caret_slope_rise: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub caret_slope_run: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub caret_offset: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 21 | pub reserved1: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | pub reserved2: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 23 | pub reserved3: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | pub reserved4: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | pub metric_data_format: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HheaTable` has 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/tables/maxp.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) struct MaxpTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 5 | pub(crate) version: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | pub(crate) max_points: u16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | pub(crate) max_contours: u16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub(crate) max_composite_points: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub(crate) max_composite_contours: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub(crate) max_zones: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub(crate) max_twilight_points: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub(crate) max_storage: u16, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | pub(crate) max_function_defs: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub(crate) max_instruction_defs: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub(crate) max_stack_elements: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | pub(crate) max_size_of_instructions: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub(crate) max_component_elements: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub(crate) max_component_depth: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MaxpTable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling clap_builder v4.5.49 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling fontdue v0.9.3 [INFO] [stderr] Compiling criterion-plot v0.6.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling clap v4.5.49 [INFO] [stderr] Compiling owned_ttf_parser v0.15.2 [INFO] [stderr] Compiling rusttype v0.9.3 [INFO] [stderr] Compiling owned_ttf_parser v0.25.1 [INFO] [stderr] Compiling ab_glyph v0.2.32 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling zerocopy-derive v0.8.27 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion v0.7.0 [INFO] [stderr] Compiling titanf v1.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::tables::glyf::Glyph` [INFO] [stdout] --> src/rasterizer/dda.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tables::glyf::Glyph; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tables/cmap.rs:379:52 [INFO] [stdout] | [INFO] [stdout] 379 | ... let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 379 - let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] 379 + let glyph_offset = codepoint - group.start_char_code; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tables/cmap.rs:388:52 [INFO] [stdout] | [INFO] [stdout] 388 | ... let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 388 - let glyph_offset = (codepoint - group.start_char_code); [INFO] [stdout] 388 + let glyph_offset = codepoint - group.start_char_code; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:14:55 [INFO] [stdout] | [INFO] [stdout] 14 | let n_tables = get_u16_be(font_bytes, (offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 14 - let n_tables = get_u16_be(font_bytes, (offset + 2)); [INFO] [stdout] 14 + let n_tables = get_u16_be(font_bytes, offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:20:57 [INFO] [stdout] | [INFO] [stdout] 20 | let length = get_u16_be(font_bytes, (subtable_offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 20 - let length = get_u16_be(font_bytes, (subtable_offset + 2)); [INFO] [stdout] 20 + let length = get_u16_be(font_bytes, subtable_offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:21:59 [INFO] [stdout] | [INFO] [stdout] 21 | let coverage = get_u16_be(font_bytes, (subtable_offset + 4)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - let coverage = get_u16_be(font_bytes, (subtable_offset + 4)); [INFO] [stdout] 21 + let coverage = get_u16_be(font_bytes, subtable_offset + 4 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:27:62 [INFO] [stdout] | [INFO] [stdout] 27 | let n_pairs = get_u16_be(font_bytes, (subtable_offset + 6)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - let n_pairs = get_u16_be(font_bytes, (subtable_offset + 6)); [INFO] [stdout] 27 + let n_pairs = get_u16_be(font_bytes, subtable_offset + 6 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:32:64 [INFO] [stdout] | [INFO] [stdout] 32 | ... let right = get_u16_be(font_bytes, (pair_offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - let right = get_u16_be(font_bytes, (pair_offset + 2)); [INFO] [stdout] 32 + let right = get_u16_be(font_bytes, pair_offset + 2 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/tables/kern.rs:33:64 [INFO] [stdout] | [INFO] [stdout] 33 | ... let value = get_i16_be(font_bytes, (pair_offset + 4)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - let value = get_i16_be(font_bytes, (pair_offset + 4)); [INFO] [stdout] 33 + let value = get_i16_be(font_bytes, pair_offset + 4 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `examples/../Roboto-Medium.ttf`: No such file or directory (os error 2) [INFO] [stdout] --> examples/simple.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | let font_data = include_bytes!("../Roboto-Medium.ttf"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `titanf` (example "simple") due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: value assigned to `x_cross` is never read [INFO] [stdout] --> src/rasterizer/dda.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | x_cross += line.dx_sign; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y_cross` is never read [INFO] [stdout] --> src/rasterizer/dda.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | y_cross += line.dy_sign; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/tables/glyf.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 452 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/tables/glyf.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 375 | Format0 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 392 | Format4 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 414 | Format6 { data, .. } => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 432 | Format12 { data, .. } => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 452 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/tables/kern.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | let version = get_u16_be(font_bytes, offset); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/tables/kern.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | let version = get_u16_be(font_bytes, subtable_offset); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROUND_XY_TO_GRID` is never used [INFO] [stdout] --> src/tables/glyf.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const ROUND_XY_TO_GRID: u16 = 0x0004; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `y_min` and `x_max` are never read [INFO] [stdout] --> src/tables/glyf.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) struct SimpleGlyph { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SimpleGlyph` has 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 `number_of_contours`, `x_min`, `y_min`, `x_max`, and `end_pts_of_contours` are never read [INFO] [stdout] --> src/tables/glyf.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) struct CompositeGlyph { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 37 | pub(crate) number_of_contours: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub(crate) x_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 40 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub(crate) end_pts_of_contours: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompositeGlyph` has 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_x_min`, `get_x_max`, `get_y_min`, `get_y_max`, and `get_contour_end_points` are never used [INFO] [stdout] --> src/tables/glyf.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 115 | impl ProtoGlyph { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 116 | pub(crate) fn get_x_min(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub(crate) fn get_x_max(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub(crate) fn get_y_min(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub(crate) fn get_y_max(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub(crate) fn get_contour_end_points(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/tables/head.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) struct HeadTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub(crate) modified: i64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 20 | pub(crate) x_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | pub(crate) y_min: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | pub(crate) x_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | pub(crate) y_max: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | pub(crate) mac_style: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | pub(crate) lowest_rec_ppem: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub(crate) font_direction_hint: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | pub(crate) index_to_loc_format: i16, [INFO] [stdout] 28 | pub(crate) glyph_data_format: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeadTable` has 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/tables/hhea.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) struct HheaTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 9 | pub major_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub minor_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub ascender: i16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 12 | pub descender: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub line_gap: i16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | pub advance_width_max: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub min_left_side_bearing: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub min_right_side_bearing: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub x_max_extent: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | pub caret_slope_rise: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub caret_slope_run: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub caret_offset: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 21 | pub reserved1: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | pub reserved2: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 23 | pub reserved3: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | pub reserved4: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | pub metric_data_format: i16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HheaTable` has 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/tables/maxp.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) struct MaxpTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 5 | pub(crate) version: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | pub(crate) max_points: u16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | pub(crate) max_contours: u16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub(crate) max_composite_points: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub(crate) max_composite_contours: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub(crate) max_zones: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub(crate) max_twilight_points: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub(crate) max_storage: u16, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | pub(crate) max_function_defs: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub(crate) max_instruction_defs: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub(crate) max_stack_elements: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | pub(crate) max_size_of_instructions: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub(crate) max_component_elements: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub(crate) max_component_depth: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MaxpTable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8e44b33d97e88a0764b507b3f955f1671e0c638bafb249ff765413ba459a3bf4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e44b33d97e88a0764b507b3f955f1671e0c638bafb249ff765413ba459a3bf4", kill_on_drop: false }` [INFO] [stdout] 8e44b33d97e88a0764b507b3f955f1671e0c638bafb249ff765413ba459a3bf4