[INFO] crate font-rs 0.1.3 is already in cache [INFO] extracting crate font-rs 0.1.3 into work/ex/clippy-test-run/sources/stable/reg/font-rs/0.1.3 [INFO] extracting crate font-rs 0.1.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/font-rs/0.1.3 [INFO] validating manifest of font-rs-0.1.3 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of font-rs-0.1.3 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing font-rs-0.1.3 [INFO] finished frobbing font-rs-0.1.3 [INFO] frobbed toml for font-rs-0.1.3 written to work/ex/clippy-test-run/sources/stable/reg/font-rs/0.1.3/Cargo.toml [INFO] started frobbing font-rs-0.1.3 [INFO] finished frobbing font-rs-0.1.3 [INFO] frobbed toml for font-rs-0.1.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/font-rs/0.1.3/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting font-rs-0.1.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/font-rs/0.1.3:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] dd100f5a6fcf629c39577cebcbb947a14bc92dad2de1f67db648857506f1583f [INFO] running `"docker" "start" "-a" "dd100f5a6fcf629c39577cebcbb947a14bc92dad2de1f67db648857506f1583f"` [INFO] [stderr] Compiling font-rs v0.1.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | flags_ix: flags_ix, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `flags_ix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] --> src/font.rs:470:13 [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] 470 | x_ix: x_ix, [INFO] [stderr] --> src/font.rs:469:13 [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `x_ix` [INFO] [stderr] | [INFO] [stderr] 469 | flags_ix: flags_ix, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `flags_ix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:470:13 [INFO] [stderr] | [INFO] [stderr] 470 | x_ix: x_ix, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `x_ix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:471:13 [INFO] [stderr] | [INFO] [stderr] 471 | y_ix: y_ix, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `y_ix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:471:13 [INFO] [stderr] | [INFO] [stderr] 471 | y_ix: y_ix, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `y_ix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/font.rs:651:13 [INFO] [stderr] | [INFO] [stderr] 651 | let x = arg1 as f32; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/font.rs:651:13 [INFO] [stderr] | [INFO] [stderr] 651 | let x = arg1 as f32; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/font.rs:652:13 [INFO] [stderr] | [INFO] [stderr] 652 | let y = arg2 as f32; [INFO] [stderr] | ^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/font.rs:652:13 [INFO] [stderr] | [INFO] [stderr] 652 | let y = arg2 as f32; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/font.rs:653:13 [INFO] [stderr] | [INFO] [stderr] 653 | let z = Affine::new(a, b, c, d, x, y); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/font.rs:653:13 [INFO] [stderr] | [INFO] [stderr] 653 | let z = Affine::new(a, b, c, d, x, y); [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/font.rs:717:13 [INFO] [stderr] | [INFO] [stderr] 717 | let z = Affine::new(scale, 0.0, 0.0, -scale, -l as f32, -t as f32); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:717:13 [INFO] [stderr] --> src/font.rs:712:13 [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 717 | let z = Affine::new(scale, 0.0, 0.0, -scale, -l as f32, -t as f32); [INFO] [stderr] 712 | l: l, [INFO] [stderr] | ^ [INFO] [stderr] | ^^^^ help: replace it with: `l` [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:713:13 [INFO] [stderr] | [INFO] [stderr] 713 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:712:13 [INFO] [stderr] | [INFO] [stderr] 712 | l: l, [INFO] [stderr] | ^^^^ help: replace it with: `l` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:714:13 [INFO] [stderr] | [INFO] [stderr] 714 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:713:13 [INFO] [stderr] | [INFO] [stderr] 713 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:715:13 [INFO] [stderr] | [INFO] [stderr] 715 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:851:9 [INFO] [stderr] | [INFO] [stderr] 851 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:714:13 [INFO] [stderr] | [INFO] [stderr] 714 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:715:13 [INFO] [stderr] | [INFO] [stderr] 715 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:975:9 [INFO] [stderr] | [INFO] [stderr] 975 | head: head, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:976:9 [INFO] [stderr] | [INFO] [stderr] 976 | maxp: maxp, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `maxp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:977:9 [INFO] [stderr] | [INFO] [stderr] 977 | loca: loca, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `loca` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:851:9 [INFO] [stderr] | [INFO] [stderr] 851 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:978:9 [INFO] [stderr] | [INFO] [stderr] 978 | cmap: cmap, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cmap` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:979:9 [INFO] [stderr] | [INFO] [stderr] 979 | glyf: glyf, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glyf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:980:9 [INFO] [stderr] | [INFO] [stderr] 980 | encoding_index: encoding_index, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:975:9 [INFO] [stderr] | [INFO] [stderr] 975 | head: head, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:976:9 [INFO] [stderr] | [INFO] [stderr] 976 | maxp: maxp, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `maxp` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/raster.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | w: w, [INFO] [stderr] | ^^^^ help: replace it with: `w` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/raster.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | h: h, [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | ^^^^ help: replace it with: `h` [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:977:9 [INFO] [stderr] | [INFO] [stderr] 977 | loca: loca, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `loca` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:978:9 [INFO] [stderr] | [INFO] [stderr] 978 | cmap: cmap, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:979:9 [INFO] [stderr] | [INFO] [stderr] 979 | glyf: glyf, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glyf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/font.rs:980:9 [INFO] [stderr] | [INFO] [stderr] 980 | encoding_index: encoding_index, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/raster.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | w: w, [INFO] [stderr] | ^^^^ help: replace it with: `w` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/raster.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | h: h, [INFO] [stderr] | ^^^^ help: replace it with: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: All variants have the same postfix: `To` [INFO] [stderr] --> src/font.rs:832:1 [INFO] [stderr] | [INFO] [stderr] 832 | / enum PathOp { [INFO] [stderr] 833 | | MoveTo(Point), [INFO] [stderr] 834 | | LineTo(Point), [INFO] [stderr] 835 | | QuadTo(Point, Point), [INFO] [stderr] 836 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/accumulate.rs:113:30 [INFO] [stderr] | [INFO] [stderr] 113 | test_accumulate(vec![0.015625; 64]); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.015_625` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/accumulate.rs:119:30 [INFO] [stderr] | [INFO] [stderr] 119 | test_accumulate(vec![0.0078125; 128]); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.007_812_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: All variants have the same postfix: `To` [INFO] [stderr] --> src/font.rs:832:1 [INFO] [stderr] | [INFO] [stderr] 832 | / enum PathOp { [INFO] [stderr] 833 | | MoveTo(Point), [INFO] [stderr] 834 | | LineTo(Point), [INFO] [stderr] 835 | | QuadTo(Point, Point), [INFO] [stderr] 836 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/font.rs:1077:41 [INFO] [stderr] | [INFO] [stderr] 1077 | assert_eq!(font.lookup_glyph_id(0x1000232B).is_none(), true); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1000_232B` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | Some(((data[off] as u16) << 8) | data[off + 1] as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data[off])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:51:42 [INFO] [stderr] | [INFO] [stderr] 51 | Some(((data[off] as u16) << 8) | data[off + 1] as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data[off + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:60:32 [INFO] [stderr] | [INFO] [stderr] 60 | get_i16(data, off).map(|x| x as f32 * (1.0 / (1 << 14) as f32)) [INFO] [stderr] | ^^^^^^^^ help: try: `f32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | ((data[off] as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:69:20 [INFO] [stderr] | [INFO] [stderr] 69 | | ((data[off + 1] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | | ((data[off + 2] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off + 2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:71:19 [INFO] [stderr] | [INFO] [stderr] 71 | | data[off + 3] as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off + 3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:106:62 [INFO] [stderr] | [INFO] [stderr] 106 | get_u16(self.0, glyph_ix as usize * 2).map(|raw| raw as u32 * 2) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:356:28 [INFO] [stderr] | [INFO] [stderr] 356 | let subtable_len = get_u16(self.0, (record.get_offset() + 2) as usize).unwrap() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(get_u16(self.0, (record.get_offset() + 2) as usize).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:368:28 [INFO] [stderr] | [INFO] [stderr] 368 | let subtable_len = get_u16(self.0, (record.get_offset() + 2) as usize).unwrap() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(get_u16(self.0, (record.get_offset() + 2) as usize).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:521:31 [INFO] [stderr] | [INFO] [stderr] 521 | self.x -= self.data[self.x_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.x_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:529:31 [INFO] [stderr] | [INFO] [stderr] 529 | self.x += self.data[self.x_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.x_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:536:31 [INFO] [stderr] | [INFO] [stderr] 536 | self.y -= self.data[self.y_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.y_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:544:31 [INFO] [stderr] | [INFO] [stderr] 544 | self.y += self.data[self.y_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.y_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:575:23 [INFO] [stderr] | [INFO] [stderr] 575 | let ret = get_u16(self.data, self.ix).unwrap() as i32 - self.offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(get_u16(self.data, self.ix).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:622:20 [INFO] [stderr] | [INFO] [stderr] 622 | arg1 = self.data[self.ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:624:20 [INFO] [stderr] | [INFO] [stderr] 624 | arg2 = self.data[self.ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:651:17 [INFO] [stderr] | [INFO] [stderr] 651 | let x = arg1 as f32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(arg1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:652:17 [INFO] [stderr] | [INFO] [stderr] 652 | let y = arg2 as f32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(arg2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:706:37 [INFO] [stderr] | [INFO] [stderr] 706 | let scale = (size as f32) / (ppem as f32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f32::from(ppem)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:707:18 [INFO] [stderr] | [INFO] [stderr] 707 | let l = (xmin as f32 * scale).floor() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(xmin)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:708:18 [INFO] [stderr] | [INFO] [stderr] 708 | let t = (ymax as f32 * -scale).floor() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(ymax)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:709:18 [INFO] [stderr] | [INFO] [stderr] 709 | let r = (xmax as f32 * scale).ceil() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(xmax)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:710:18 [INFO] [stderr] | [INFO] [stderr] 710 | let b = (ymin as f32 * -scale).ceil() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(ymin)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:815:33 [INFO] [stderr] | [INFO] [stderr] 815 | if code_point > u16::max_value() as u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(u16::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/font.rs:964:22 [INFO] [stderr] | [INFO] [stderr] 964 | let head = Head(*tables.get(&Tag::from_str("head")).unwrap()); // todo: don't fail [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&tables[&Tag::from_str("head")]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/font.rs:966:16 [INFO] [stderr] | [INFO] [stderr] 966 | data: *tables.get(&Tag::from_str("maxp")).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&tables[&Tag::from_str("maxp")]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/font.rs:969:16 [INFO] [stderr] | [INFO] [stderr] 969 | let glyf = tables.get(&Tag::from_str("glyf")).map(|&data| data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `tables.get(&Tag::from_str("glyf")).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/geom.rs:36:29 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn lerp(t: f32, p0: &Self, p1: &Self) -> Self { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/geom.rs:36:40 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn lerp(t: f32, p0: &Self, p1: &Self) -> Self { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/geom.rs:74:33 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn affine_pt(z: &Affine, p: &Point) -> Point { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:46:37 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn draw_line(&mut self, p0: &Point, p1: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:46:49 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn draw_line(&mut self, p0: &Point, p1: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/raster.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | if p0.y == p1.y { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider comparing them within some error: `(p0.y - p1.y).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raster.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | if p0.y == p1.y { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn draw_quad(&mut self, p0: &Point, p1: &Point, p2: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:100:49 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn draw_quad(&mut self, p0: &Point, p1: &Point, p2: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:100:61 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn draw_quad(&mut self, p0: &Point, p1: &Point, p2: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `font-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | Some(((data[off] as u16) << 8) | data[off + 1] as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data[off])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:51:42 [INFO] [stderr] | [INFO] [stderr] 51 | Some(((data[off] as u16) << 8) | data[off + 1] as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data[off + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:60:32 [INFO] [stderr] | [INFO] [stderr] 60 | get_i16(data, off).map(|x| x as f32 * (1.0 / (1 << 14) as f32)) [INFO] [stderr] | ^^^^^^^^ help: try: `f32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | ((data[off] as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:69:20 [INFO] [stderr] | [INFO] [stderr] 69 | | ((data[off + 1] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | | ((data[off + 2] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off + 2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:71:19 [INFO] [stderr] | [INFO] [stderr] 71 | | data[off + 3] as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[off + 3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:106:62 [INFO] [stderr] | [INFO] [stderr] 106 | get_u16(self.0, glyph_ix as usize * 2).map(|raw| raw as u32 * 2) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:356:28 [INFO] [stderr] | [INFO] [stderr] 356 | let subtable_len = get_u16(self.0, (record.get_offset() + 2) as usize).unwrap() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(get_u16(self.0, (record.get_offset() + 2) as usize).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:368:28 [INFO] [stderr] | [INFO] [stderr] 368 | let subtable_len = get_u16(self.0, (record.get_offset() + 2) as usize).unwrap() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(get_u16(self.0, (record.get_offset() + 2) as usize).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:521:31 [INFO] [stderr] | [INFO] [stderr] 521 | self.x -= self.data[self.x_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.x_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:529:31 [INFO] [stderr] | [INFO] [stderr] 529 | self.x += self.data[self.x_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.x_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:536:31 [INFO] [stderr] | [INFO] [stderr] 536 | self.y -= self.data[self.y_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.y_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:544:31 [INFO] [stderr] | [INFO] [stderr] 544 | self.y += self.data[self.y_ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.y_ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:575:23 [INFO] [stderr] | [INFO] [stderr] 575 | let ret = get_u16(self.data, self.ix).unwrap() as i32 - self.offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(get_u16(self.data, self.ix).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:622:20 [INFO] [stderr] | [INFO] [stderr] 622 | arg1 = self.data[self.ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:624:20 [INFO] [stderr] | [INFO] [stderr] 624 | arg2 = self.data[self.ix] as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.data[self.ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:651:17 [INFO] [stderr] | [INFO] [stderr] 651 | let x = arg1 as f32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(arg1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:652:17 [INFO] [stderr] | [INFO] [stderr] 652 | let y = arg2 as f32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(arg2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:706:37 [INFO] [stderr] | [INFO] [stderr] 706 | let scale = (size as f32) / (ppem as f32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f32::from(ppem)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:707:18 [INFO] [stderr] | [INFO] [stderr] 707 | let l = (xmin as f32 * scale).floor() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(xmin)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:708:18 [INFO] [stderr] | [INFO] [stderr] 708 | let t = (ymax as f32 * -scale).floor() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(ymax)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:709:18 [INFO] [stderr] | [INFO] [stderr] 709 | let r = (xmax as f32 * scale).ceil() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(xmax)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:710:18 [INFO] [stderr] | [INFO] [stderr] 710 | let b = (ymin as f32 * -scale).ceil() as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(ymin)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/font.rs:815:33 [INFO] [stderr] | [INFO] [stderr] 815 | if code_point > u16::max_value() as u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(u16::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/font.rs:964:22 [INFO] [stderr] | [INFO] [stderr] 964 | let head = Head(*tables.get(&Tag::from_str("head")).unwrap()); // todo: don't fail [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&tables[&Tag::from_str("head")]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/font.rs:966:16 [INFO] [stderr] | [INFO] [stderr] 966 | data: *tables.get(&Tag::from_str("maxp")).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&tables[&Tag::from_str("maxp")]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/font.rs:969:16 [INFO] [stderr] | [INFO] [stderr] 969 | let glyf = tables.get(&Tag::from_str("glyf")).map(|&data| data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `tables.get(&Tag::from_str("glyf")).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/geom.rs:36:29 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn lerp(t: f32, p0: &Self, p1: &Self) -> Self { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/geom.rs:36:40 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn lerp(t: f32, p0: &Self, p1: &Self) -> Self { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/geom.rs:74:33 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn affine_pt(z: &Affine, p: &Point) -> Point { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:46:37 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn draw_line(&mut self, p0: &Point, p1: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:46:49 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn draw_line(&mut self, p0: &Point, p1: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/raster.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | if p0.y == p1.y { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider comparing them within some error: `(p0.y - p1.y).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raster.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | if p0.y == p1.y { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn draw_quad(&mut self, p0: &Point, p1: &Point, p2: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:100:49 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn draw_quad(&mut self, p0: &Point, p1: &Point, p2: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/raster.rs:100:61 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn draw_quad(&mut self, p0: &Point, p1: &Point, p2: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `font-rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "dd100f5a6fcf629c39577cebcbb947a14bc92dad2de1f67db648857506f1583f"` [INFO] running `"docker" "rm" "-f" "dd100f5a6fcf629c39577cebcbb947a14bc92dad2de1f67db648857506f1583f"` [INFO] [stdout] dd100f5a6fcf629c39577cebcbb947a14bc92dad2de1f67db648857506f1583f