[INFO] crate fonterator 0.3.0 is already in cache [INFO] extracting crate fonterator 0.3.0 into work/ex/clippy-test-run/sources/stable/reg/fonterator/0.3.0 [INFO] extracting crate fonterator 0.3.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fonterator/0.3.0 [INFO] validating manifest of fonterator-0.3.0 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 fonterator-0.3.0 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 fonterator-0.3.0 [INFO] finished frobbing fonterator-0.3.0 [INFO] frobbed toml for fonterator-0.3.0 written to work/ex/clippy-test-run/sources/stable/reg/fonterator/0.3.0/Cargo.toml [INFO] started frobbing fonterator-0.3.0 [INFO] finished frobbing fonterator-0.3.0 [INFO] frobbed toml for fonterator-0.3.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fonterator/0.3.0/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 fonterator-0.3.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/fonterator/0.3.0:/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] a913de7a844c3fe5f0ddf2fac4df3bf857e42c38c466cada322ed8076465412f [INFO] running `"docker" "start" "-a" "a913de7a844c3fe5f0ddf2fac4df3bf857e42c38c466cada322ed8076465412f"` [INFO] [stderr] Checking svg v0.5.12 [INFO] [stderr] Checking png v0.10.0 [INFO] [stderr] Checking footile v0.2.0 [INFO] [stderr] Checking fonterator v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tt.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | 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/tt.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 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/tt.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | 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/tt.rs:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | 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/tt.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | hhea: hhea, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hhea` [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/tt.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | hmtx: hmtx, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hmtx` [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/tt.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/tt.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | kern: kern, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kern` [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/tt.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | index_map: index_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index_map` [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/tt.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | index_to_loc_format: index_to_loc_format, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index_to_loc_format` [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/tt.rs:506:21 [INFO] [stderr] | [INFO] [stderr] 506 | let mut y = 0i32; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/tt.rs:534:21 [INFO] [stderr] | [INFO] [stderr] 534 | let mut i = 0; [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/tt.rs:535:21 [INFO] [stderr] | [INFO] [stderr] 535 | let mut j = 0; [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/tt.rs:713:33 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy 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: redundant field names in struct initialization [INFO] [stderr] --> src/tt.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | 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/tt.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 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/tt.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | 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/tt.rs:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | 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/tt.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | hhea: hhea, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hhea` [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/tt.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | hmtx: hmtx, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hmtx` [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/tt.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/tt.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | kern: kern, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kern` [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/tt.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | index_map: index_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index_map` [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/tt.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | index_to_loc_format: index_to_loc_format, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index_to_loc_format` [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/tt.rs:506:21 [INFO] [stderr] | [INFO] [stderr] 506 | let mut y = 0i32; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/tt.rs:534:21 [INFO] [stderr] | [INFO] [stderr] 534 | let mut i = 0; [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/tt.rs:535:21 [INFO] [stderr] | [INFO] [stderr] 535 | let mut j = 0; [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/tt.rs:713:33 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy 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: All variants have the same postfix: `To` [INFO] [stderr] --> src/tt.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | / pub(crate) enum VertexType { [INFO] [stderr] 43 | | MoveTo = 1, [INFO] [stderr] 44 | | LineTo = 2, [INFO] [stderr] 45 | | CurveTo = 3, [INFO] [stderr] 46 | | } [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: unneeded return statement [INFO] [stderr] --> src/tt.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/tt.rs:149:51 [INFO] [stderr] | [INFO] [stderr] 149 | if BE::read_u32(&font_collection[4..]) == 0x00010000 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/tt.rs:150:55 [INFO] [stderr] | [INFO] [stderr] 150 | || BE::read_u32(&font_collection[4..]) == 0x00020000 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0002_0000` [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: unneeded return statement [INFO] [stderr] --> src/tt.rs:250:17 [INFO] [stderr] | [INFO] [stderr] 250 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:259:17 [INFO] [stderr] | [INFO] [stderr] 259 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:314:21 [INFO] [stderr] | [INFO] [stderr] 314 | / return BE::read_u16( [INFO] [stderr] 315 | | &index_map[offset [INFO] [stderr] 316 | | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | | + 14 [INFO] [stderr] ... | [INFO] [stderr] 320 | | + 2 * item..], [INFO] [stderr] 321 | | ) as u32; [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 314 | BE::read_u16( [INFO] [stderr] 315 | &index_map[offset [INFO] [stderr] 316 | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | + 14 [INFO] [stderr] 318 | + segcount * 6 [INFO] [stderr] 319 | + 2 [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:346:17 [INFO] [stderr] | [INFO] [stderr] 346 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tt.rs:496:24 [INFO] [stderr] | [INFO] [stderr] 496 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 497 | | if flags & 16 == 0 { [INFO] [stderr] 498 | | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 499 | | points = &points[2..]; [INFO] [stderr] 500 | | } [INFO] [stderr] 501 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 496 | } else if flags & 16 == 0 { [INFO] [stderr] 497 | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 498 | points = &points[2..]; [INFO] [stderr] 499 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tt.rs:517:24 [INFO] [stderr] | [INFO] [stderr] 517 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 518 | | if flags & 32 == 0 { [INFO] [stderr] 519 | | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 520 | | points = &points[2..]; [INFO] [stderr] 521 | | } [INFO] [stderr] 522 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 517 | } else if flags & 32 == 0 { [INFO] [stderr] 518 | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 519 | points = &points[2..]; [INFO] [stderr] 520 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tt.rs:589:24 [INFO] [stderr] | [INFO] [stderr] 589 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 590 | | if flags & 1 == 0 { [INFO] [stderr] 591 | | // if it's a curve [INFO] [stderr] 592 | | if was_off { [INFO] [stderr] ... | [INFO] [stderr] 626 | | } [INFO] [stderr] 627 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 589 | } else if flags & 1 == 0 { [INFO] [stderr] 590 | // if it's a curve [INFO] [stderr] 591 | if was_off { [INFO] [stderr] 592 | // two off-curve control points in a row means interpolate an on-curve midpoint [INFO] [stderr] 593 | vertices[num_vertices] = Vertex { [INFO] [stderr] 594 | type_: CurveTo as u8, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: All variants have the same postfix: `To` [INFO] [stderr] --> src/tt.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | / pub(crate) enum VertexType { [INFO] [stderr] 43 | | MoveTo = 1, [INFO] [stderr] 44 | | LineTo = 2, [INFO] [stderr] 45 | | CurveTo = 3, [INFO] [stderr] 46 | | } [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: unneeded return statement [INFO] [stderr] --> src/tt.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/tt.rs:149:51 [INFO] [stderr] | [INFO] [stderr] 149 | if BE::read_u32(&font_collection[4..]) == 0x00010000 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/tt.rs:150:55 [INFO] [stderr] | [INFO] [stderr] 150 | || BE::read_u32(&font_collection[4..]) == 0x00020000 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0002_0000` [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: unneeded return statement [INFO] [stderr] --> src/tt.rs:250:17 [INFO] [stderr] | [INFO] [stderr] 250 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:259:17 [INFO] [stderr] | [INFO] [stderr] 259 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:314:21 [INFO] [stderr] | [INFO] [stderr] 314 | / return BE::read_u16( [INFO] [stderr] 315 | | &index_map[offset [INFO] [stderr] 316 | | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | | + 14 [INFO] [stderr] ... | [INFO] [stderr] 320 | | + 2 * item..], [INFO] [stderr] 321 | | ) as u32; [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 314 | BE::read_u16( [INFO] [stderr] 315 | &index_map[offset [INFO] [stderr] 316 | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | + 14 [INFO] [stderr] 318 | + segcount * 6 [INFO] [stderr] 319 | + 2 [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tt.rs:346:17 [INFO] [stderr] | [INFO] [stderr] 346 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tt.rs:496:24 [INFO] [stderr] | [INFO] [stderr] 496 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 497 | | if flags & 16 == 0 { [INFO] [stderr] 498 | | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 499 | | points = &points[2..]; [INFO] [stderr] 500 | | } [INFO] [stderr] 501 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 496 | } else if flags & 16 == 0 { [INFO] [stderr] 497 | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 498 | points = &points[2..]; [INFO] [stderr] 499 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tt.rs:517:24 [INFO] [stderr] | [INFO] [stderr] 517 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 518 | | if flags & 32 == 0 { [INFO] [stderr] 519 | | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 520 | | points = &points[2..]; [INFO] [stderr] 521 | | } [INFO] [stderr] 522 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 517 | } else if flags & 32 == 0 { [INFO] [stderr] 518 | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] 519 | points = &points[2..]; [INFO] [stderr] 520 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tt.rs:589:24 [INFO] [stderr] | [INFO] [stderr] 589 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 590 | | if flags & 1 == 0 { [INFO] [stderr] 591 | | // if it's a curve [INFO] [stderr] 592 | | if was_off { [INFO] [stderr] ... | [INFO] [stderr] 626 | | } [INFO] [stderr] 627 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 589 | } else if flags & 1 == 0 { [INFO] [stderr] 590 | // if it's a curve [INFO] [stderr] 591 | if was_off { [INFO] [stderr] 592 | // two off-curve control points in a row means interpolate an on-curve midpoint [INFO] [stderr] 593 | vertices[num_vertices] = Vertex { [INFO] [stderr] 594 | type_: CurveTo as u8, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:190:51 [INFO] [stderr] | [INFO] [stderr] 190 | let encoding_record = (cmap + 4 + 8 * (i as u32)) as usize; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(i)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:213:35 [INFO] [stderr] | [INFO] [stderr] 213 | let index_to_loc_format = BE::read_u16(&data[head as usize + 50..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[head as usize + 50..]))` [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/tt.rs:224:25 [INFO] [stderr] | [INFO] [stderr] 224 | num_glyphs: num_glyphs as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(num_glyphs)` [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/tt.rs:247:40 [INFO] [stderr] | [INFO] [stderr] 247 | if unicode_codepoint < bytes as u32 - 6 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(bytes)` [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/tt.rs:248:28 [INFO] [stderr] | [INFO] [stderr] 248 | return index_map[6 + unicode_codepoint as usize] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(index_map[6 + unicode_codepoint as usize])` [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/tt.rs:253:29 [INFO] [stderr] | [INFO] [stderr] 253 | let first = BE::read_u16(&index_map[6..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&index_map[6..]))` [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/tt.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 254 | let count = BE::read_u16(&index_map[8..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&index_map[8..]))` [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/tt.rs:256:28 [INFO] [stderr] | [INFO] [stderr] 256 | return BE::read_u16(&index_map[10 + (unicode_codepoint - first) as usize * 2..]) [INFO] [stderr] | ____________________________^ [INFO] [stderr] 257 | | as u32; [INFO] [stderr] | |______________________________^ help: try: `u32::from(BE::read_u16(&index_map[10 + (unicode_codepoint - first) as usize * 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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:282:41 [INFO] [stderr] | [INFO] [stderr] 282 | if unicode_codepoint >= BE::read_u16(&data[search + range_shift * 2..]) as u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[search + range_shift * 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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:290:31 [INFO] [stderr] | [INFO] [stderr] 290 | let end = BE::read_u16(&data[search + search_range * 2..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[search + search_range * 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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:301:46 [INFO] [stderr] | [INFO] [stderr] 301 | unicode_codepoint <= BE::read_u16(&data[end_count + 2 * item..]) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[end_count + 2 * item..]))` [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/tt.rs:303:33 [INFO] [stderr] | [INFO] [stderr] 303 | let start = BE::read_u16(&index_map[14 + segcount * 2 + 2 + 2 * item..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&index_map[14 + segcount * 2 + 2 + 2 * item..]))` [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/tt.rs:310:32 [INFO] [stderr] | [INFO] [stderr] 310 | return (unicode_codepoint as i32 [INFO] [stderr] | ________________________________^ [INFO] [stderr] 311 | | + BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]) as i32) [INFO] [stderr] 312 | | as u16 as u32; [INFO] [stderr] | |_________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 310 | return u32::from((unicode_codepoint as i32 [INFO] [stderr] 311 | + BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]) as i32) [INFO] [stderr] 312 | as u16); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:311:31 [INFO] [stderr] | [INFO] [stderr] 311 | + BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]))` [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/tt.rs:314:28 [INFO] [stderr] | [INFO] [stderr] 314 | return BE::read_u16( [INFO] [stderr] | ____________________________^ [INFO] [stderr] 315 | | &index_map[offset [INFO] [stderr] 316 | | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | | + 14 [INFO] [stderr] ... | [INFO] [stderr] 320 | | + 2 * item..], [INFO] [stderr] 321 | | ) as u32; [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 314 | return u32::from(BE::read_u16( [INFO] [stderr] 315 | &index_map[offset [INFO] [stderr] 316 | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | + 14 [INFO] [stderr] 318 | + segcount * 6 [INFO] [stderr] 319 | + 2 [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:362:19 [INFO] [stderr] | [INFO] [stderr] 362 | + BE::read_u16(&self.data[(self.loca + glyph_index * 2) as usize..]) as u32 * 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&self.data[(self.loca + glyph_index * 2) as usize..]))` [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/tt.rs:364:19 [INFO] [stderr] | [INFO] [stderr] 364 | + BE::read_u16(&self.data[(self.loca + glyph_index * 2 + 2) as usize..]) as u32 * 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&self.data[(self.loca + glyph_index * 2 + 2) as usize..]))` [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: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/tt.rs:378:5 [INFO] [stderr] | [INFO] [stderr] 378 | / pub(crate) fn get_glyph_shape(&self, glyph_index: u32) -> Option> { [INFO] [stderr] 379 | | use crate::tt::VertexType::*; [INFO] [stderr] 380 | | fn close_shape( [INFO] [stderr] 381 | | vertices: &mut [Vertex], [INFO] [stderr] ... | [INFO] [stderr] 734 | | Some(vertices) [INFO] [stderr] 735 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/tt.rs:380:9 [INFO] [stderr] | [INFO] [stderr] 380 | / fn close_shape( [INFO] [stderr] 381 | | vertices: &mut [Vertex], [INFO] [stderr] 382 | | num_vertices: &mut usize, [INFO] [stderr] 383 | | was_off: bool, [INFO] [stderr] ... | [INFO] [stderr] 430 | | *num_vertices += 1; [INFO] [stderr] 431 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:488:30 [INFO] [stderr] | [INFO] [stderr] 488 | let dx = points[0] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:498:30 [INFO] [stderr] | [INFO] [stderr] 498 | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:498:55 [INFO] [stderr] | [INFO] [stderr] 498 | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:510:30 [INFO] [stderr] | [INFO] [stderr] 510 | let dy = points[0] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:519:30 [INFO] [stderr] | [INFO] [stderr] 519 | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:519:55 [INFO] [stderr] | [INFO] [stderr] 519 | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:538:21 [INFO] [stderr] | [INFO] [stderr] 538 | x = vertices[off + i].x as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i].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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:539:21 [INFO] [stderr] | [INFO] [stderr] 539 | y = vertices[off + i].y as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i].y)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:566:39 [INFO] [stderr] | [INFO] [stderr] 566 | sx = (x + vertices[off + i + 1].x as i32) >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:567:39 [INFO] [stderr] | [INFO] [stderr] 567 | sy = (y + vertices[off + i + 1].y as i32) >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].y)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:570:34 [INFO] [stderr] | [INFO] [stderr] 570 | sx = vertices[off + i + 1].x as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:571:34 [INFO] [stderr] | [INFO] [stderr] 571 | sy = vertices[off + i + 1].y as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].y)` [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/tt.rs:662:34 [INFO] [stderr] | [INFO] [stderr] 662 | mtx[4] = BE::read_i16(comp) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:664:34 [INFO] [stderr] | [INFO] [stderr] 664 | mtx[5] = BE::read_i16(comp) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:667:34 [INFO] [stderr] | [INFO] [stderr] 667 | mtx[4] = comp[0] as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(comp[0])` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:669:34 [INFO] [stderr] | [INFO] [stderr] 669 | mtx[5] = comp[0] as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(comp[0])` [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/tt.rs:677:30 [INFO] [stderr] | [INFO] [stderr] 677 | mtx[0] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:684:30 [INFO] [stderr] | [INFO] [stderr] 684 | mtx[0] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:688:30 [INFO] [stderr] | [INFO] [stderr] 688 | mtx[3] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:692:30 [INFO] [stderr] | [INFO] [stderr] 692 | mtx[0] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:694:30 [INFO] [stderr] | [INFO] [stderr] 694 | mtx[1] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:696:30 [INFO] [stderr] | [INFO] [stderr] 696 | mtx[2] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:698:30 [INFO] [stderr] | [INFO] [stderr] 698 | mtx[3] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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: redundant closure found [INFO] [stderr] --> src/tt.rs:709:37 [INFO] [stderr] | [INFO] [stderr] 709 | .unwrap_or_else(|| Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:708:38 [INFO] [stderr] | [INFO] [stderr] 708 | .get_glyph_shape(gidx as u32) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(gidx)` [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: length comparison to zero [INFO] [stderr] --> src/tt.rs:710:20 [INFO] [stderr] | [INFO] [stderr] 710 | if comp_verts.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!comp_verts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:713:47 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(v.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 i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:713:59 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(v.y)` [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/tt.rs:713:71 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(v.cx)` [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/tt.rs:713:84 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(v.cy)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:743:32 [INFO] [stderr] | [INFO] [stderr] 743 | advance_width: BE::read_i16( [INFO] [stderr] | ________________________________^ [INFO] [stderr] 744 | | &self.data[self.hmtx as usize + 4 * glyph_index as usize..], [INFO] [stderr] 745 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 743 | advance_width: i32::from(BE::read_i16( [INFO] [stderr] 744 | &self.data[self.hmtx as usize + 4 * glyph_index as usize..], [INFO] [stderr] 745 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:746:36 [INFO] [stderr] | [INFO] [stderr] 746 | left_side_bearing: BE::read_i16( [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 747 | | &self.data[self.hmtx as usize + 4 * glyph_index as usize + 2..], [INFO] [stderr] 748 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 746 | left_side_bearing: i32::from(BE::read_i16( [INFO] [stderr] 747 | &self.data[self.hmtx as usize + 4 * glyph_index as usize + 2..], [INFO] [stderr] 748 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:752:32 [INFO] [stderr] | [INFO] [stderr] 752 | advance_width: BE::read_i16( [INFO] [stderr] | ________________________________^ [INFO] [stderr] 753 | | &self.data[self.hmtx as usize + 4 * (num_of_long_hor_metrics - 1)..], [INFO] [stderr] 754 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 752 | advance_width: i32::from(BE::read_i16( [INFO] [stderr] 753 | &self.data[self.hmtx as usize + 4 * (num_of_long_hor_metrics - 1)..], [INFO] [stderr] 754 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:755:36 [INFO] [stderr] | [INFO] [stderr] 755 | left_side_bearing: BE::read_i16( [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 756 | | &self.data[self.hmtx as usize [INFO] [stderr] 757 | | + 4 * num_of_long_hor_metrics [INFO] [stderr] 758 | | + 2 * (glyph_index as isize - num_of_long_hor_metrics as isize) as usize..], [INFO] [stderr] 759 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 755 | left_side_bearing: i32::from(BE::read_i16( [INFO] [stderr] 756 | &self.data[self.hmtx as usize [INFO] [stderr] 757 | + 4 * num_of_long_hor_metrics [INFO] [stderr] 758 | + 2 * (glyph_index as isize - num_of_long_hor_metrics as isize) as usize..], [INFO] [stderr] 759 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:777:26 [INFO] [stderr] | [INFO] [stderr] 777 | let mut r: i32 = BE::read_u16(&kern[10..]) as i32 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_u16(&kern[10..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:787:24 [INFO] [stderr] | [INFO] [stderr] 787 | return BE::read_i16(&kern[22 + (m as usize) * 6..]) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&kern[22 + (m as usize) * 6..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:802:21 [INFO] [stderr] | [INFO] [stderr] 802 | ascent: BE::read_i16(&hhea[4..]) as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&hhea[4..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:803:22 [INFO] [stderr] | [INFO] [stderr] 803 | descent: BE::read_i16(&hhea[6..]) as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&hhea[6..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:804:23 [INFO] [stderr] | [INFO] [stderr] 804 | line_gap: BE::read_i16(&hhea[8..]) as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&hhea[8..]))` [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/tt.rs:816:23 [INFO] [stderr] | [INFO] [stderr] 816 | let fheight = BE::read_i16(&hhea[4..]) as f32 - BE::read_i16(&hhea[6..]) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(&hhea[4..]))` [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/tt.rs:816:57 [INFO] [stderr] | [INFO] [stderr] 816 | let fheight = BE::read_i16(&hhea[4..]) as f32 - BE::read_i16(&hhea[6..]) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(&hhea[6..]))` [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: defining a method called `add` on this type; consider implementing the `std::ops::Add` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | / pub fn add>>(mut self, bytes: B) -> Result { [INFO] [stderr] 98 | | let collection = FontCollection::new(bytes)?; [INFO] [stderr] 99 | | [INFO] [stderr] 100 | | if tt::get_font_offset_for_index(&collection.0, 1).is_some() { [INFO] [stderr] ... | [INFO] [stderr] 110 | | Ok(self) [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:503:17 [INFO] [stderr] | [INFO] [stderr] 503 | let x = v.x as f32 * glyph.v.0 [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(v.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 i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:510:17 [INFO] [stderr] | [INFO] [stderr] 510 | let y = -v.y as f32 * glyph.v.1 + self.cy + ay; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(-v.y)` [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/lib.rs:517:26 [INFO] [stderr] | [INFO] [stderr] 517 | let cx = v.cx as f32 * glyph.v.0 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(v.cx)` [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/lib.rs:524:26 [INFO] [stderr] | [INFO] [stderr] 524 | let cy = -v.cy as f32 * glyph.v.1 + self.cy + ay; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f32::from(-v.cy)` [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/tt.rs:190:51 [INFO] [stderr] | [INFO] [stderr] 190 | let encoding_record = (cmap + 4 + 8 * (i as u32)) as usize; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(i)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:213:35 [INFO] [stderr] | [INFO] [stderr] 213 | let index_to_loc_format = BE::read_u16(&data[head as usize + 50..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[head as usize + 50..]))` [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/tt.rs:224:25 [INFO] [stderr] | [INFO] [stderr] 224 | num_glyphs: num_glyphs as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(num_glyphs)` [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/tt.rs:247:40 [INFO] [stderr] | [INFO] [stderr] 247 | if unicode_codepoint < bytes as u32 - 6 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(bytes)` [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/tt.rs:248:28 [INFO] [stderr] | [INFO] [stderr] 248 | return index_map[6 + unicode_codepoint as usize] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(index_map[6 + unicode_codepoint as usize])` [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/tt.rs:253:29 [INFO] [stderr] | [INFO] [stderr] 253 | let first = BE::read_u16(&index_map[6..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&index_map[6..]))` [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/tt.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 254 | let count = BE::read_u16(&index_map[8..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&index_map[8..]))` [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/tt.rs:256:28 [INFO] [stderr] | [INFO] [stderr] 256 | return BE::read_u16(&index_map[10 + (unicode_codepoint - first) as usize * 2..]) [INFO] [stderr] | ____________________________^ [INFO] [stderr] 257 | | as u32; [INFO] [stderr] | |______________________________^ help: try: `u32::from(BE::read_u16(&index_map[10 + (unicode_codepoint - first) as usize * 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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:282:41 [INFO] [stderr] | [INFO] [stderr] 282 | if unicode_codepoint >= BE::read_u16(&data[search + range_shift * 2..]) as u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[search + range_shift * 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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:290:31 [INFO] [stderr] | [INFO] [stderr] 290 | let end = BE::read_u16(&data[search + search_range * 2..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[search + search_range * 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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:301:46 [INFO] [stderr] | [INFO] [stderr] 301 | unicode_codepoint <= BE::read_u16(&data[end_count + 2 * item..]) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&data[end_count + 2 * item..]))` [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/tt.rs:303:33 [INFO] [stderr] | [INFO] [stderr] 303 | let start = BE::read_u16(&index_map[14 + segcount * 2 + 2 + 2 * item..]) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&index_map[14 + segcount * 2 + 2 + 2 * item..]))` [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/tt.rs:310:32 [INFO] [stderr] | [INFO] [stderr] 310 | return (unicode_codepoint as i32 [INFO] [stderr] | ________________________________^ [INFO] [stderr] 311 | | + BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]) as i32) [INFO] [stderr] 312 | | as u16 as u32; [INFO] [stderr] | |_________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 310 | return u32::from((unicode_codepoint as i32 [INFO] [stderr] 311 | + BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]) as i32) [INFO] [stderr] 312 | as u16); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:311:31 [INFO] [stderr] | [INFO] [stderr] 311 | + BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&index_map[14 + segcount * 4 + 2 + 2 * item..]))` [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/tt.rs:314:28 [INFO] [stderr] | [INFO] [stderr] 314 | return BE::read_u16( [INFO] [stderr] | ____________________________^ [INFO] [stderr] 315 | | &index_map[offset [INFO] [stderr] 316 | | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | | + 14 [INFO] [stderr] ... | [INFO] [stderr] 320 | | + 2 * item..], [INFO] [stderr] 321 | | ) as u32; [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 314 | return u32::from(BE::read_u16( [INFO] [stderr] 315 | &index_map[offset [INFO] [stderr] 316 | + (unicode_codepoint - start) as usize * 2 [INFO] [stderr] 317 | + 14 [INFO] [stderr] 318 | + segcount * 6 [INFO] [stderr] 319 | + 2 [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:362:19 [INFO] [stderr] | [INFO] [stderr] 362 | + BE::read_u16(&self.data[(self.loca + glyph_index * 2) as usize..]) as u32 * 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&self.data[(self.loca + glyph_index * 2) as usize..]))` [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/tt.rs:364:19 [INFO] [stderr] | [INFO] [stderr] 364 | + BE::read_u16(&self.data[(self.loca + glyph_index * 2 + 2) as usize..]) as u32 * 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(BE::read_u16(&self.data[(self.loca + glyph_index * 2 + 2) as usize..]))` [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: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/tt.rs:378:5 [INFO] [stderr] | [INFO] [stderr] 378 | / pub(crate) fn get_glyph_shape(&self, glyph_index: u32) -> Option> { [INFO] [stderr] 379 | | use crate::tt::VertexType::*; [INFO] [stderr] 380 | | fn close_shape( [INFO] [stderr] 381 | | vertices: &mut [Vertex], [INFO] [stderr] ... | [INFO] [stderr] 734 | | Some(vertices) [INFO] [stderr] 735 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/tt.rs:380:9 [INFO] [stderr] | [INFO] [stderr] 380 | / fn close_shape( [INFO] [stderr] 381 | | vertices: &mut [Vertex], [INFO] [stderr] 382 | | num_vertices: &mut usize, [INFO] [stderr] 383 | | was_off: bool, [INFO] [stderr] ... | [INFO] [stderr] 430 | | *num_vertices += 1; [INFO] [stderr] 431 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:488:30 [INFO] [stderr] | [INFO] [stderr] 488 | let dx = points[0] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:498:30 [INFO] [stderr] | [INFO] [stderr] 498 | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:498:55 [INFO] [stderr] | [INFO] [stderr] 498 | x += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:510:30 [INFO] [stderr] | [INFO] [stderr] 510 | let dy = points[0] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:519:30 [INFO] [stderr] | [INFO] [stderr] 519 | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[0])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:519:55 [INFO] [stderr] | [INFO] [stderr] 519 | y += points[0] as i32 * 256 + points[1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(points[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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:538:21 [INFO] [stderr] | [INFO] [stderr] 538 | x = vertices[off + i].x as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i].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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:539:21 [INFO] [stderr] | [INFO] [stderr] 539 | y = vertices[off + i].y as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i].y)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:566:39 [INFO] [stderr] | [INFO] [stderr] 566 | sx = (x + vertices[off + i + 1].x as i32) >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:567:39 [INFO] [stderr] | [INFO] [stderr] 567 | sy = (y + vertices[off + i + 1].y as i32) >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].y)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:570:34 [INFO] [stderr] | [INFO] [stderr] 570 | sx = vertices[off + i + 1].x as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:571:34 [INFO] [stderr] | [INFO] [stderr] 571 | sy = vertices[off + i + 1].y as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(vertices[off + i + 1].y)` [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/tt.rs:662:34 [INFO] [stderr] | [INFO] [stderr] 662 | mtx[4] = BE::read_i16(comp) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:664:34 [INFO] [stderr] | [INFO] [stderr] 664 | mtx[5] = BE::read_i16(comp) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:667:34 [INFO] [stderr] | [INFO] [stderr] 667 | mtx[4] = comp[0] as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(comp[0])` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:669:34 [INFO] [stderr] | [INFO] [stderr] 669 | mtx[5] = comp[0] as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(comp[0])` [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/tt.rs:677:30 [INFO] [stderr] | [INFO] [stderr] 677 | mtx[0] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:684:30 [INFO] [stderr] | [INFO] [stderr] 684 | mtx[0] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:688:30 [INFO] [stderr] | [INFO] [stderr] 688 | mtx[3] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:692:30 [INFO] [stderr] | [INFO] [stderr] 692 | mtx[0] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:694:30 [INFO] [stderr] | [INFO] [stderr] 694 | mtx[1] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:696:30 [INFO] [stderr] | [INFO] [stderr] 696 | mtx[2] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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/tt.rs:698:30 [INFO] [stderr] | [INFO] [stderr] 698 | mtx[3] = BE::read_i16(comp) as f32 / 16384.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(comp))` [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: redundant closure found [INFO] [stderr] --> src/tt.rs:709:37 [INFO] [stderr] | [INFO] [stderr] 709 | .unwrap_or_else(|| Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:708:38 [INFO] [stderr] | [INFO] [stderr] 708 | .get_glyph_shape(gidx as u32) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(gidx)` [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: length comparison to zero [INFO] [stderr] --> src/tt.rs:710:20 [INFO] [stderr] | [INFO] [stderr] 710 | if comp_verts.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!comp_verts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:713:47 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(v.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 i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:713:59 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(v.y)` [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/tt.rs:713:71 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(v.cx)` [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/tt.rs:713:84 [INFO] [stderr] | [INFO] [stderr] 713 | let (x, y, cx, cy) = (v.x as f32, v.y as f32, v.cx as f32, v.cy as f32); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(v.cy)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:743:32 [INFO] [stderr] | [INFO] [stderr] 743 | advance_width: BE::read_i16( [INFO] [stderr] | ________________________________^ [INFO] [stderr] 744 | | &self.data[self.hmtx as usize + 4 * glyph_index as usize..], [INFO] [stderr] 745 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 743 | advance_width: i32::from(BE::read_i16( [INFO] [stderr] 744 | &self.data[self.hmtx as usize + 4 * glyph_index as usize..], [INFO] [stderr] 745 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:746:36 [INFO] [stderr] | [INFO] [stderr] 746 | left_side_bearing: BE::read_i16( [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 747 | | &self.data[self.hmtx as usize + 4 * glyph_index as usize + 2..], [INFO] [stderr] 748 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 746 | left_side_bearing: i32::from(BE::read_i16( [INFO] [stderr] 747 | &self.data[self.hmtx as usize + 4 * glyph_index as usize + 2..], [INFO] [stderr] 748 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:752:32 [INFO] [stderr] | [INFO] [stderr] 752 | advance_width: BE::read_i16( [INFO] [stderr] | ________________________________^ [INFO] [stderr] 753 | | &self.data[self.hmtx as usize + 4 * (num_of_long_hor_metrics - 1)..], [INFO] [stderr] 754 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 752 | advance_width: i32::from(BE::read_i16( [INFO] [stderr] 753 | &self.data[self.hmtx as usize + 4 * (num_of_long_hor_metrics - 1)..], [INFO] [stderr] 754 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:755:36 [INFO] [stderr] | [INFO] [stderr] 755 | left_side_bearing: BE::read_i16( [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 756 | | &self.data[self.hmtx as usize [INFO] [stderr] 757 | | + 4 * num_of_long_hor_metrics [INFO] [stderr] 758 | | + 2 * (glyph_index as isize - num_of_long_hor_metrics as isize) as usize..], [INFO] [stderr] 759 | | ) as i32, [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 755 | left_side_bearing: i32::from(BE::read_i16( [INFO] [stderr] 756 | &self.data[self.hmtx as usize [INFO] [stderr] 757 | + 4 * num_of_long_hor_metrics [INFO] [stderr] 758 | + 2 * (glyph_index as isize - num_of_long_hor_metrics as isize) as usize..], [INFO] [stderr] 759 | )), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:777:26 [INFO] [stderr] | [INFO] [stderr] 777 | let mut r: i32 = BE::read_u16(&kern[10..]) as i32 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_u16(&kern[10..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:787:24 [INFO] [stderr] | [INFO] [stderr] 787 | return BE::read_i16(&kern[22 + (m as usize) * 6..]) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&kern[22 + (m as usize) * 6..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:802:21 [INFO] [stderr] | [INFO] [stderr] 802 | ascent: BE::read_i16(&hhea[4..]) as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&hhea[4..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:803:22 [INFO] [stderr] | [INFO] [stderr] 803 | descent: BE::read_i16(&hhea[6..]) as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&hhea[6..]))` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/tt.rs:804:23 [INFO] [stderr] | [INFO] [stderr] 804 | line_gap: BE::read_i16(&hhea[8..]) as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(BE::read_i16(&hhea[8..]))` [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/tt.rs:816:23 [INFO] [stderr] | [INFO] [stderr] 816 | let fheight = BE::read_i16(&hhea[4..]) as f32 - BE::read_i16(&hhea[6..]) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(&hhea[4..]))` [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/tt.rs:816:57 [INFO] [stderr] | [INFO] [stderr] 816 | let fheight = BE::read_i16(&hhea[4..]) as f32 - BE::read_i16(&hhea[6..]) as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(BE::read_i16(&hhea[6..]))` [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: defining a method called `add` on this type; consider implementing the `std::ops::Add` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | / pub fn add>>(mut self, bytes: B) -> Result { [INFO] [stderr] 98 | | let collection = FontCollection::new(bytes)?; [INFO] [stderr] 99 | | [INFO] [stderr] 100 | | if tt::get_font_offset_for_index(&collection.0, 1).is_some() { [INFO] [stderr] ... | [INFO] [stderr] 110 | | Ok(self) [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:503:17 [INFO] [stderr] | [INFO] [stderr] 503 | let x = v.x as f32 * glyph.v.0 [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(v.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 i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:510:17 [INFO] [stderr] | [INFO] [stderr] 510 | let y = -v.y as f32 * glyph.v.1 + self.cy + ay; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(-v.y)` [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/lib.rs:517:26 [INFO] [stderr] | [INFO] [stderr] 517 | let cx = v.cx as f32 * glyph.v.0 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(v.cx)` [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/lib.rs:524:26 [INFO] [stderr] | [INFO] [stderr] 524 | let cy = -v.cy as f32 * glyph.v.1 + self.cy + ay; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f32::from(-v.cy)` [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] Finished dev [unoptimized + debuginfo] target(s) in 7.08s [INFO] running `"docker" "inspect" "a913de7a844c3fe5f0ddf2fac4df3bf857e42c38c466cada322ed8076465412f"` [INFO] running `"docker" "rm" "-f" "a913de7a844c3fe5f0ddf2fac4df3bf857e42c38c466cada322ed8076465412f"` [INFO] [stdout] a913de7a844c3fe5f0ddf2fac4df3bf857e42c38c466cada322ed8076465412f