[INFO] crate resvg 0.6.1 is already in cache [INFO] extracting crate resvg 0.6.1 into work/ex/pr-60914/sources/master#39401465da4ce27aeeb2c2a26133ac35c63aa515/reg/resvg/0.6.1 [INFO] extracting crate resvg 0.6.1 into work/ex/pr-60914/sources/try#f45cc3094ee337acd688771b9234318046b0572d/reg/resvg/0.6.1 [INFO] validating manifest of resvg-0.6.1 on toolchain master#39401465da4ce27aeeb2c2a26133ac35c63aa515 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+39401465da4ce27aeeb2c2a26133ac35c63aa515-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of resvg-0.6.1 on toolchain try#f45cc3094ee337acd688771b9234318046b0572d [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+f45cc3094ee337acd688771b9234318046b0572d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing resvg-0.6.1 [INFO] finished frobbing resvg-0.6.1 [INFO] frobbed toml for resvg-0.6.1 written to work/ex/pr-60914/sources/master#39401465da4ce27aeeb2c2a26133ac35c63aa515/reg/resvg/0.6.1/Cargo.toml [INFO] started frobbing resvg-0.6.1 [INFO] finished frobbing resvg-0.6.1 [INFO] frobbed toml for resvg-0.6.1 written to work/ex/pr-60914/sources/try#f45cc3094ee337acd688771b9234318046b0572d/reg/resvg/0.6.1/Cargo.toml [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+39401465da4ce27aeeb2c2a26133ac35c63aa515-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+f45cc3094ee337acd688771b9234318046b0572d-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+39401465da4ce27aeeb2c2a26133ac35c63aa515-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+f45cc3094ee337acd688771b9234318046b0572d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache lock [INFO] checking resvg-0.6.1 against master#39401465da4ce27aeeb2c2a26133ac35c63aa515 for pr-60914 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-60914/worker-5/master#39401465da4ce27aeeb2c2a26133ac35c63aa515:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-60914/sources/master#39401465da4ce27aeeb2c2a26133ac35c63aa515/reg/resvg/0.6.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+39401465da4ce27aeeb2c2a26133ac35c63aa515-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] e325ad802572c14c2037ecc427b3b3ff418778f6ebd5c8b10a044c0ef68facb6 [INFO] running `"docker" "start" "-a" "e325ad802572c14c2037ecc427b3b3ff418778f6ebd5c8b10a044c0ef68facb6"` [INFO] [stderr] Checking svgdom v0.16.1 [INFO] [stderr] Checking usvg v0.6.1 [INFO] [stderr] Checking resvg v0.6.1 (/opt/crater/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | #[macro_use] pub extern crate usvg; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | #[macro_use] pub extern crate usvg; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/backend_utils/text.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let mut chunk_x = chunk.x.unwrap_or(last_x) + chunk.dx.unwrap_or(0.0); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/backend_utils/text.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | let mut y = chunk.y.unwrap_or(last_y) + chunk.dy.unwrap_or(0.0); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `apply_view_box` [INFO] [stderr] --> src/utils.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | pub(crate) fn apply_view_box(vb: &usvg::ViewBox, img_size: ScreenSize) -> ScreenSize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Error` [INFO] [stderr] --> src/backend_utils/filter.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | pub enum Error { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `from_image` [INFO] [stderr] --> src/backend_utils/filter.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn from_image(image: T, color_space: ColorSpace) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `into_color_space` [INFO] [stderr] --> src/backend_utils/filter.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn into_color_space(self, color_space: ColorSpace) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `take` [INFO] [stderr] --> src/backend_utils/filter.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn take(self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `width` [INFO] [stderr] --> src/backend_utils/filter.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn width(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `height` [INFO] [stderr] --> src/backend_utils/filter.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn height(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `as_ref` [INFO] [stderr] --> src/backend_utils/filter.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn as_ref(&self) -> &T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FilterResult` [INFO] [stderr] --> src/backend_utils/filter.rs:118:1 [INFO] [stderr] | [INFO] [stderr] 118 | pub struct FilterResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `BlurData` [INFO] [stderr] --> src/backend_utils/filter.rs:370:5 [INFO] [stderr] | [INFO] [stderr] 370 | struct BlurData { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `apply` [INFO] [stderr] --> src/backend_utils/filter.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | / pub fn apply( [INFO] [stderr] 380 | | data: &mut [u8], [INFO] [stderr] 381 | | width: u32, [INFO] [stderr] 382 | | height: u32, [INFO] [stderr] ... | [INFO] [stderr] 406 | | set_alpha(alpha_channel, data); [INFO] [stderr] 407 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gaussian_alpha` [INFO] [stderr] --> src/backend_utils/filter.rs:409:5 [INFO] [stderr] | [INFO] [stderr] 409 | / fn gaussian_alpha( [INFO] [stderr] 410 | | data: &[u8], [INFO] [stderr] 411 | | d: &BlurData, [INFO] [stderr] 412 | | buf: &mut Vec, [INFO] [stderr] ... | [INFO] [stderr] 420 | | buf.to_owned() [INFO] [stderr] 421 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gaussian_channel` [INFO] [stderr] --> src/backend_utils/filter.rs:423:5 [INFO] [stderr] | [INFO] [stderr] 423 | / fn gaussian_channel( [INFO] [stderr] 424 | | data: &mut [u8], [INFO] [stderr] 425 | | d: &BlurData, [INFO] [stderr] 426 | | channel: usize, [INFO] [stderr] ... | [INFO] [stderr] 454 | | } [INFO] [stderr] 455 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `set_alpha` [INFO] [stderr] --> src/backend_utils/filter.rs:457:5 [INFO] [stderr] | [INFO] [stderr] 457 | / fn set_alpha( [INFO] [stderr] 458 | | alpha_channel: &[f64], [INFO] [stderr] 459 | | data: &mut [u8], [INFO] [stderr] 460 | | ) { [INFO] [stderr] ... | [INFO] [stderr] 471 | | } [INFO] [stderr] 472 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gaussianiir2d` [INFO] [stderr] --> src/backend_utils/filter.rs:495:5 [INFO] [stderr] | [INFO] [stderr] 495 | / fn gaussianiir2d( [INFO] [stderr] 496 | | d: &BlurData, [INFO] [stderr] 497 | | buf: &mut Vec, [INFO] [stderr] 498 | | ) { [INFO] [stderr] ... | [INFO] [stderr] 567 | | buf.iter_mut().for_each(|v| *v *= post_scale); [INFO] [stderr] 568 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_coefficients` [INFO] [stderr] --> src/backend_utils/filter.rs:570:5 [INFO] [stderr] | [INFO] [stderr] 570 | fn gen_coefficients(sigma: f64, steps: usize) -> (f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calc_region` [INFO] [stderr] --> src/backend_utils/filter.rs:580:1 [INFO] [stderr] | [INFO] [stderr] 580 | / fn calc_region( [INFO] [stderr] 581 | | filter: &usvg::Filter, [INFO] [stderr] 582 | | bbox: Rect, [INFO] [stderr] 583 | | ts: &usvg::Transform, [INFO] [stderr] ... | [INFO] [stderr] 608 | | Ok(region) [INFO] [stderr] 609 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calc_subregion` [INFO] [stderr] --> src/backend_utils/filter.rs:612:1 [INFO] [stderr] | [INFO] [stderr] 612 | / fn calc_subregion( [INFO] [stderr] 613 | | filter: &usvg::Filter, [INFO] [stderr] 614 | | primitive: &usvg::FilterPrimitive, [INFO] [stderr] 615 | | bbox: Rect, [INFO] [stderr] ... | [INFO] [stderr] 681 | | subregion.to_screen_rect() [INFO] [stderr] 682 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SRGB_TO_LINEAR_RGB_TABLE` [INFO] [stderr] --> src/backend_utils/filter.rs:697:1 [INFO] [stderr] | [INFO] [stderr] 697 | / pub const SRGB_TO_LINEAR_RGB_TABLE: &[u8; 256] = &[ [INFO] [stderr] 698 | | 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, [INFO] [stderr] 699 | | 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, [INFO] [stderr] 700 | | 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, [INFO] [stderr] ... | [INFO] [stderr] 713 | | 222, 224, 226, 229, 231, 233, 235, 237, 239, 242, 244, 246, 248, 250, 253, 255, [INFO] [stderr] 714 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LINEAR_RGB_TO_SRGB_TABLE` [INFO] [stderr] --> src/backend_utils/filter.rs:729:1 [INFO] [stderr] | [INFO] [stderr] 729 | / pub const LINEAR_RGB_TO_SRGB_TABLE: &[u8; 256] = &[ [INFO] [stderr] 730 | | 0, 13, 22, 28, 34, 38, 42, 46, 50, 53, 56, 59, 61, 64, 66, 69, [INFO] [stderr] 731 | | 71, 73, 75, 77, 79, 81, 83, 85, 86, 88, 90, 92, 93, 95, 96, 98, [INFO] [stderr] 732 | | 99, 101, 102, 104, 105, 106, 108, 109, 110, 112, 113, 114, 115, 117, 118, 119, [INFO] [stderr] ... | [INFO] [stderr] 745 | | 248, 249, 249, 250, 250, 251, 251, 251, 252, 252, 253, 253, 254, 254, 255, 255, [INFO] [stderr] 746 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `load_sub_svg` [INFO] [stderr] --> src/backend_utils/image.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn load_sub_svg( [INFO] [stderr] 15 | | data: &usvg::ImageData, [INFO] [stderr] 16 | | opt: &Options, [INFO] [stderr] 17 | | ) -> Option<(usvg::Tree, Options)> { [INFO] [stderr] ... | [INFO] [stderr] 44 | | Some((tree, sub_opt)) [INFO] [stderr] 45 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sanitize_sub_svg` [INFO] [stderr] --> src/backend_utils/image.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | fn sanitize_sub_svg(tree: &usvg::Tree) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prepare_image_viewbox` [INFO] [stderr] --> src/backend_utils/image.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn prepare_image_viewbox(img_size: ScreenSize, view_box: &mut usvg::ViewBox) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prepare_sub_svg_geom` [INFO] [stderr] --> src/backend_utils/image.rs:81:1 [INFO] [stderr] | [INFO] [stderr] 81 | / pub fn prepare_sub_svg_geom( [INFO] [stderr] 82 | | mut view_box: usvg::ViewBox, [INFO] [stderr] 83 | | img_size: ScreenSize, [INFO] [stderr] 84 | | ) -> (usvg::Transform, Option) { [INFO] [stderr] ... | [INFO] [stderr] 111 | | (ts, clip) [INFO] [stderr] 112 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_abs_path` [INFO] [stderr] --> src/backend_utils/image.rs:114:1 [INFO] [stderr] | [INFO] [stderr] 114 | / pub fn get_abs_path( [INFO] [stderr] 115 | | rel_path: &path::Path, [INFO] [stderr] 116 | | opt: &Options, [INFO] [stderr] 117 | | ) -> path::PathBuf { [INFO] [stderr] ... | [INFO] [stderr] 121 | | } [INFO] [stderr] 122 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `image_to_mask` [INFO] [stderr] --> src/backend_utils/mask.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | / pub fn image_to_mask( [INFO] [stderr] 11 | | data: &mut [u8], [INFO] [stderr] 12 | | img_size: ScreenSize, [INFO] [stderr] 13 | | ) { [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TextBlock` [INFO] [stderr] --> src/backend_utils/text.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct TextBlock { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_blocks` [INFO] [stderr] --> src/backend_utils/text.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn draw_blocks( [INFO] [stderr] 32 | | blocks: Vec>, [INFO] [stderr] 33 | | mut draw: Draw, [INFO] [stderr] 34 | | ) [INFO] [stderr] ... | [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prepare_blocks` [INFO] [stderr] --> src/backend_utils/text.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn prepare_blocks( [INFO] [stderr] 45 | | text_kind: &usvg::Text, [INFO] [stderr] 46 | | font_metrics: &mut FontMetrics, [INFO] [stderr] 47 | | ) -> (Vec>, Rect) { [INFO] [stderr] ... | [INFO] [stderr] 140 | | (blocks, text_bbox) [INFO] [stderr] 141 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `process_text_anchor` [INFO] [stderr] --> src/backend_utils/text.rs:143:1 [INFO] [stderr] | [INFO] [stderr] 143 | fn process_text_anchor(a: usvg::TextAnchor, text_width: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Layers` [INFO] [stderr] --> src/layers.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Layers { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/layers.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new( [INFO] [stderr] 31 | | img_size: ScreenSize, [INFO] [stderr] 32 | | dpi: f64, [INFO] [stderr] 33 | | new_img_fn: F1, [INFO] [stderr] ... | [INFO] [stderr] 46 | | } [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `image_size` [INFO] [stderr] --> src/layers.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn image_size(&self) -> ScreenSize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get` [INFO] [stderr] --> src/layers.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn get(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Layer` [INFO] [stderr] --> src/layers.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | pub struct Layer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/backend_utils/text.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let mut chunk_x = chunk.x.unwrap_or(last_x) + chunk.dx.unwrap_or(0.0); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/backend_utils/text.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | let mut y = chunk.y.unwrap_or(last_y) + chunk.dy.unwrap_or(0.0); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `apply_view_box` [INFO] [stderr] --> src/utils.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | pub(crate) fn apply_view_box(vb: &usvg::ViewBox, img_size: ScreenSize) -> ScreenSize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Error` [INFO] [stderr] --> src/backend_utils/filter.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | pub enum Error { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `from_image` [INFO] [stderr] --> src/backend_utils/filter.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn from_image(image: T, color_space: ColorSpace) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `into_color_space` [INFO] [stderr] --> src/backend_utils/filter.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn into_color_space(self, color_space: ColorSpace) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `take` [INFO] [stderr] --> src/backend_utils/filter.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn take(self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `width` [INFO] [stderr] --> src/backend_utils/filter.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn width(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `height` [INFO] [stderr] --> src/backend_utils/filter.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn height(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `as_ref` [INFO] [stderr] --> src/backend_utils/filter.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn as_ref(&self) -> &T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FilterResult` [INFO] [stderr] --> src/backend_utils/filter.rs:118:1 [INFO] [stderr] | [INFO] [stderr] 118 | pub struct FilterResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `BlurData` [INFO] [stderr] --> src/backend_utils/filter.rs:370:5 [INFO] [stderr] | [INFO] [stderr] 370 | struct BlurData { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `apply` [INFO] [stderr] --> src/backend_utils/filter.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | / pub fn apply( [INFO] [stderr] 380 | | data: &mut [u8], [INFO] [stderr] 381 | | width: u32, [INFO] [stderr] 382 | | height: u32, [INFO] [stderr] ... | [INFO] [stderr] 406 | | set_alpha(alpha_channel, data); [INFO] [stderr] 407 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gaussian_alpha` [INFO] [stderr] --> src/backend_utils/filter.rs:409:5 [INFO] [stderr] | [INFO] [stderr] 409 | / fn gaussian_alpha( [INFO] [stderr] 410 | | data: &[u8], [INFO] [stderr] 411 | | d: &BlurData, [INFO] [stderr] 412 | | buf: &mut Vec, [INFO] [stderr] ... | [INFO] [stderr] 420 | | buf.to_owned() [INFO] [stderr] 421 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gaussian_channel` [INFO] [stderr] --> src/backend_utils/filter.rs:423:5 [INFO] [stderr] | [INFO] [stderr] 423 | / fn gaussian_channel( [INFO] [stderr] 424 | | data: &mut [u8], [INFO] [stderr] 425 | | d: &BlurData, [INFO] [stderr] 426 | | channel: usize, [INFO] [stderr] ... | [INFO] [stderr] 454 | | } [INFO] [stderr] 455 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `set_alpha` [INFO] [stderr] --> src/backend_utils/filter.rs:457:5 [INFO] [stderr] | [INFO] [stderr] 457 | / fn set_alpha( [INFO] [stderr] 458 | | alpha_channel: &[f64], [INFO] [stderr] 459 | | data: &mut [u8], [INFO] [stderr] 460 | | ) { [INFO] [stderr] ... | [INFO] [stderr] 471 | | } [INFO] [stderr] 472 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gaussianiir2d` [INFO] [stderr] --> src/backend_utils/filter.rs:495:5 [INFO] [stderr] | [INFO] [stderr] 495 | / fn gaussianiir2d( [INFO] [stderr] 496 | | d: &BlurData, [INFO] [stderr] 497 | | buf: &mut Vec, [INFO] [stderr] 498 | | ) { [INFO] [stderr] ... | [INFO] [stderr] 567 | | buf.iter_mut().for_each(|v| *v *= post_scale); [INFO] [stderr] 568 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_coefficients` [INFO] [stderr] --> src/backend_utils/filter.rs:570:5 [INFO] [stderr] | [INFO] [stderr] 570 | fn gen_coefficients(sigma: f64, steps: usize) -> (f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calc_region` [INFO] [stderr] --> src/backend_utils/filter.rs:580:1 [INFO] [stderr] | [INFO] [stderr] 580 | / fn calc_region( [INFO] [stderr] 581 | | filter: &usvg::Filter, [INFO] [stderr] 582 | | bbox: Rect, [INFO] [stderr] 583 | | ts: &usvg::Transform, [INFO] [stderr] ... | [INFO] [stderr] 608 | | Ok(region) [INFO] [stderr] 609 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calc_subregion` [INFO] [stderr] --> src/backend_utils/filter.rs:612:1 [INFO] [stderr] | [INFO] [stderr] 612 | / fn calc_subregion( [INFO] [stderr] 613 | | filter: &usvg::Filter, [INFO] [stderr] 614 | | primitive: &usvg::FilterPrimitive, [INFO] [stderr] 615 | | bbox: Rect, [INFO] [stderr] ... | [INFO] [stderr] 681 | | subregion.to_screen_rect() [INFO] [stderr] 682 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SRGB_TO_LINEAR_RGB_TABLE` [INFO] [stderr] --> src/backend_utils/filter.rs:697:1 [INFO] [stderr] | [INFO] [stderr] 697 | / pub const SRGB_TO_LINEAR_RGB_TABLE: &[u8; 256] = &[ [INFO] [stderr] 698 | | 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, [INFO] [stderr] 699 | | 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, [INFO] [stderr] 700 | | 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, [INFO] [stderr] ... | [INFO] [stderr] 713 | | 222, 224, 226, 229, 231, 233, 235, 237, 239, 242, 244, 246, 248, 250, 253, 255, [INFO] [stderr] 714 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LINEAR_RGB_TO_SRGB_TABLE` [INFO] [stderr] --> src/backend_utils/filter.rs:729:1 [INFO] [stderr] | [INFO] [stderr] 729 | / pub const LINEAR_RGB_TO_SRGB_TABLE: &[u8; 256] = &[ [INFO] [stderr] 730 | | 0, 13, 22, 28, 34, 38, 42, 46, 50, 53, 56, 59, 61, 64, 66, 69, [INFO] [stderr] 731 | | 71, 73, 75, 77, 79, 81, 83, 85, 86, 88, 90, 92, 93, 95, 96, 98, [INFO] [stderr] 732 | | 99, 101, 102, 104, 105, 106, 108, 109, 110, 112, 113, 114, 115, 117, 118, 119, [INFO] [stderr] ... | [INFO] [stderr] 745 | | 248, 249, 249, 250, 250, 251, 251, 251, 252, 252, 253, 253, 254, 254, 255, 255, [INFO] [stderr] 746 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `load_sub_svg` [INFO] [stderr] --> src/backend_utils/image.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn load_sub_svg( [INFO] [stderr] 15 | | data: &usvg::ImageData, [INFO] [stderr] 16 | | opt: &Options, [INFO] [stderr] 17 | | ) -> Option<(usvg::Tree, Options)> { [INFO] [stderr] ... | [INFO] [stderr] 44 | | Some((tree, sub_opt)) [INFO] [stderr] 45 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sanitize_sub_svg` [INFO] [stderr] --> src/backend_utils/image.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | fn sanitize_sub_svg(tree: &usvg::Tree) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prepare_image_viewbox` [INFO] [stderr] --> src/backend_utils/image.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn prepare_image_viewbox(img_size: ScreenSize, view_box: &mut usvg::ViewBox) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prepare_sub_svg_geom` [INFO] [stderr] --> src/backend_utils/image.rs:81:1 [INFO] [stderr] | [INFO] [stderr] 81 | / pub fn prepare_sub_svg_geom( [INFO] [stderr] 82 | | mut view_box: usvg::ViewBox, [INFO] [stderr] 83 | | img_size: ScreenSize, [INFO] [stderr] 84 | | ) -> (usvg::Transform, Option) { [INFO] [stderr] ... | [INFO] [stderr] 111 | | (ts, clip) [INFO] [stderr] 112 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_abs_path` [INFO] [stderr] --> src/backend_utils/image.rs:114:1 [INFO] [stderr] | [INFO] [stderr] 114 | / pub fn get_abs_path( [INFO] [stderr] 115 | | rel_path: &path::Path, [INFO] [stderr] 116 | | opt: &Options, [INFO] [stderr] 117 | | ) -> path::PathBuf { [INFO] [stderr] ... | [INFO] [stderr] 121 | | } [INFO] [stderr] 122 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `image_to_mask` [INFO] [stderr] --> src/backend_utils/mask.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | / pub fn image_to_mask( [INFO] [stderr] 11 | | data: &mut [u8], [INFO] [stderr] 12 | | img_size: ScreenSize, [INFO] [stderr] 13 | | ) { [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TextBlock` [INFO] [stderr] --> src/backend_utils/text.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct TextBlock { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_blocks` [INFO] [stderr] --> src/backend_utils/text.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn draw_blocks( [INFO] [stderr] 32 | | blocks: Vec>, [INFO] [stderr] 33 | | mut draw: Draw, [INFO] [stderr] 34 | | ) [INFO] [stderr] ... | [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prepare_blocks` [INFO] [stderr] --> src/backend_utils/text.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn prepare_blocks( [INFO] [stderr] 45 | | text_kind: &usvg::Text, [INFO] [stderr] 46 | | font_metrics: &mut FontMetrics, [INFO] [stderr] 47 | | ) -> (Vec>, Rect) { [INFO] [stderr] ... | [INFO] [stderr] 140 | | (blocks, text_bbox) [INFO] [stderr] 141 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `process_text_anchor` [INFO] [stderr] --> src/backend_utils/text.rs:143:1 [INFO] [stderr] | [INFO] [stderr] 143 | fn process_text_anchor(a: usvg::TextAnchor, text_width: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Layers` [INFO] [stderr] --> src/layers.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Layers { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/layers.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new( [INFO] [stderr] 31 | | img_size: ScreenSize, [INFO] [stderr] 32 | | dpi: f64, [INFO] [stderr] 33 | | new_img_fn: F1, [INFO] [stderr] ... | [INFO] [stderr] 46 | | } [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `image_size` [INFO] [stderr] --> src/layers.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn image_size(&self) -> ScreenSize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get` [INFO] [stderr] --> src/layers.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn get(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Layer` [INFO] [stderr] --> src/layers.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | pub struct Layer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.26s [INFO] running `"docker" "inspect" "e325ad802572c14c2037ecc427b3b3ff418778f6ebd5c8b10a044c0ef68facb6"` [INFO] running `"docker" "rm" "-f" "e325ad802572c14c2037ecc427b3b3ff418778f6ebd5c8b10a044c0ef68facb6"` [INFO] [stdout] e325ad802572c14c2037ecc427b3b3ff418778f6ebd5c8b10a044c0ef68facb6