[INFO] crate listpack 0.1.6 is already in cache [INFO] extracting crate listpack 0.1.6 into work/ex/clippy-test-run/sources/stable/reg/listpack/0.1.6 [INFO] extracting crate listpack 0.1.6 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/listpack/0.1.6 [INFO] validating manifest of listpack-0.1.6 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 listpack-0.1.6 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 listpack-0.1.6 [INFO] finished frobbing listpack-0.1.6 [INFO] frobbed toml for listpack-0.1.6 written to work/ex/clippy-test-run/sources/stable/reg/listpack/0.1.6/Cargo.toml [INFO] started frobbing listpack-0.1.6 [INFO] finished frobbing listpack-0.1.6 [INFO] frobbed toml for listpack-0.1.6 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/listpack/0.1.6/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 listpack-0.1.6 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/listpack/0.1.6:/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] c73d21449316a4c4f310b7216f195c60a752262e00b25aa354a55fb47227ae43 [INFO] running `"docker" "start" "-a" "c73d21449316a4c4f310b7216f195c60a752262e00b25aa354a55fb47227ae43"` [INFO] [stderr] Compiling listpack v0.1.6 (/opt/crater/workdir) [INFO] [stderr] warning: use of deprecated item 'gcc::Build': crate has been renamed to `cc`, the `gcc` name is not maintained [INFO] [stderr] --> build.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | gcc::Build::new() [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'gcc::Build::new': crate has been renamed to `cc`, the `gcc` name is not maintained [INFO] [stderr] --> build.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | gcc::Build::new() [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:14:19 [INFO] [stderr] | [INFO] [stderr] 14 | pub const EMPTY: &'static [u8] = &[]; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:1104:9 [INFO] [stderr] | [INFO] [stderr] 1104 | return Listpack { lp: unsafe { lpNew() } }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Listpack { lp: unsafe { lpNew() } }` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:14:19 [INFO] [stderr] | [INFO] [stderr] 14 | pub const EMPTY: &'static [u8] = &[]; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:1104:9 [INFO] [stderr] | [INFO] [stderr] 1104 | return Listpack { lp: unsafe { lpNew() } }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Listpack { lp: unsafe { lpNew() } }` [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: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | / match &v { [INFO] [stderr] 58 | | &Value::Int(i) => i as Self, [INFO] [stderr] 59 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 60 | | if len == 0 || ptr.is_null() { [INFO] [stderr] ... | [INFO] [stderr] 65 | | } [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 57 | match v { [INFO] [stderr] 58 | Value::Int(i) => i as Self, [INFO] [stderr] 59 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:73:20 [INFO] [stderr] | [INFO] [stderr] 73 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | / match &v { [INFO] [stderr] 80 | | &Value::Int(i) => i as Self, [INFO] [stderr] 81 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 82 | | if len == 0 { [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 79 | match v { [INFO] [stderr] 80 | Value::Int(i) => i as Self, [INFO] [stderr] 81 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | / match &v { [INFO] [stderr] 102 | | &Value::Int(i) => i as Self, [INFO] [stderr] 103 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 104 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 101 | match v { [INFO] [stderr] 102 | Value::Int(i) => i as Self, [INFO] [stderr] 103 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut u16`) [INFO] [stderr] --> src/lib.rs:107:36 [INFO] [stderr] | [INFO] [stderr] 107 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:117:20 [INFO] [stderr] | [INFO] [stderr] 117 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | / match &v { [INFO] [stderr] 124 | | &Value::Int(i) => i as Self, [INFO] [stderr] 125 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 126 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 131 | | } [INFO] [stderr] 132 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 123 | match v { [INFO] [stderr] 124 | Value::Int(i) => i as Self, [INFO] [stderr] 125 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut i16`) [INFO] [stderr] --> src/lib.rs:129:36 [INFO] [stderr] | [INFO] [stderr] 129 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:139:20 [INFO] [stderr] | [INFO] [stderr] 139 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | / match &v { [INFO] [stderr] 146 | | &Value::Int(i) => i as Self, [INFO] [stderr] 147 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 148 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 153 | | } [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 145 | match v { [INFO] [stderr] 146 | Value::Int(i) => i as Self, [INFO] [stderr] 147 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:151:36 [INFO] [stderr] | [INFO] [stderr] 151 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:161:20 [INFO] [stderr] | [INFO] [stderr] 161 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | / match &v { [INFO] [stderr] 168 | | &Value::Int(i) => i as Self, [INFO] [stderr] 169 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 170 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 175 | | } [INFO] [stderr] 176 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 167 | match v { [INFO] [stderr] 168 | Value::Int(i) => i as Self, [INFO] [stderr] 169 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut i32`) [INFO] [stderr] --> src/lib.rs:173:36 [INFO] [stderr] | [INFO] [stderr] 173 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | / match &v { [INFO] [stderr] 190 | | &Value::Int(i) => i as Self, [INFO] [stderr] 191 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 192 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 197 | | } [INFO] [stderr] 198 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 189 | match v { [INFO] [stderr] 190 | Value::Int(i) => i as Self, [INFO] [stderr] 191 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:195:36 [INFO] [stderr] | [INFO] [stderr] 195 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | / match &v { [INFO] [stderr] 212 | | &Value::Int(i) => i as Self, [INFO] [stderr] 213 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 214 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 219 | | } [INFO] [stderr] 220 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 211 | match v { [INFO] [stderr] 212 | Value::Int(i) => i as Self, [INFO] [stderr] 213 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut i64`) [INFO] [stderr] --> src/lib.rs:217:36 [INFO] [stderr] | [INFO] [stderr] 217 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | / match &v { [INFO] [stderr] 234 | | &Value::Int(i) => i as Self, [INFO] [stderr] 235 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 236 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 241 | | } [INFO] [stderr] 242 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 233 | match v { [INFO] [stderr] 234 | Value::Int(i) => i as Self, [INFO] [stderr] 235 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut isize`) [INFO] [stderr] --> src/lib.rs:239:36 [INFO] [stderr] | [INFO] [stderr] 239 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | / match &v { [INFO] [stderr] 256 | | &Value::Int(i) => i as Self, [INFO] [stderr] 257 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 258 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 263 | | } [INFO] [stderr] 264 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 255 | match v { [INFO] [stderr] 256 | Value::Int(i) => i as Self, [INFO] [stderr] 257 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:261:36 [INFO] [stderr] | [INFO] [stderr] 261 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:271:20 [INFO] [stderr] | [INFO] [stderr] 271 | Value::Int(self.to_bits() as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.to_bits())` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | / match &v { [INFO] [stderr] 278 | | &Value::Int(i) => Self::from_bits(i as u32), [INFO] [stderr] 279 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 280 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 290 | | } [INFO] [stderr] 291 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 277 | match v { [INFO] [stderr] 278 | Value::Int(i) => Self::from_bits(i as u32), [INFO] [stderr] 279 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:286:30 [INFO] [stderr] | [INFO] [stderr] 286 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:304:9 [INFO] [stderr] | [INFO] [stderr] 304 | / match &v { [INFO] [stderr] 305 | | &Value::Int(i) => Self::from_bits(i as u64), [INFO] [stderr] 306 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 307 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 326 | | } [INFO] [stderr] 327 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 304 | match v { [INFO] [stderr] 305 | Value::Int(i) => Self::from_bits(i as u64), [INFO] [stderr] 306 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:310:25 [INFO] [stderr] | [INFO] [stderr] 310 | / f32::from_bits( [INFO] [stderr] 311 | | u32::from_le( [INFO] [stderr] 312 | | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] 313 | | ) [INFO] [stderr] 314 | | ) as f64 [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 | f64::from(f32::from_bits( [INFO] [stderr] 311 | u32::from_le( [INFO] [stderr] 312 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] 313 | ) [INFO] [stderr] 314 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:312:34 [INFO] [stderr] | [INFO] [stderr] 312 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:322:30 [INFO] [stderr] | [INFO] [stderr] 322 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:341:9 [INFO] [stderr] | [INFO] [stderr] 341 | / match &v { [INFO] [stderr] 342 | | &Value::Int(i) => i as Self, [INFO] [stderr] 343 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 344 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 349 | | } [INFO] [stderr] 350 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 341 | match v { [INFO] [stderr] 342 | Value::Int(i) => i as Self, [INFO] [stderr] 343 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut u128`) [INFO] [stderr] --> src/lib.rs:347:36 [INFO] [stderr] | [INFO] [stderr] 347 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | / match &v { [INFO] [stderr] 365 | | &Value::Int(i) => i as Self, [INFO] [stderr] 366 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 367 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 372 | | } [INFO] [stderr] 373 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 364 | match v { [INFO] [stderr] 365 | Value::Int(i) => i as Self, [INFO] [stderr] 366 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i64 to i128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:365:31 [INFO] [stderr] | [INFO] [stderr] 365 | &Value::Int(i) => i as Self, [INFO] [stderr] | ^^^^^^^^^ help: try: `i128::from(i)` [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] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut i128`) [INFO] [stderr] --> src/lib.rs:370:36 [INFO] [stderr] | [INFO] [stderr] 370 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:469:9 [INFO] [stderr] | [INFO] [stderr] 469 | / match self { [INFO] [stderr] 470 | | &Value::Int(v) => { [INFO] [stderr] 471 | | match other { [INFO] [stderr] 472 | | &Value::Int(v2) => v == v2, [INFO] [stderr] ... | [INFO] [stderr] 495 | | } [INFO] [stderr] 496 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 469 | match *self { [INFO] [stderr] 470 | Value::Int(v) => { [INFO] [stderr] 471 | match other { [INFO] [stderr] 472 | &Value::Int(v2) => v == v2, [INFO] [stderr] 473 | &Value::Str(_, _) => false [INFO] [stderr] 474 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:471:17 [INFO] [stderr] | [INFO] [stderr] 471 | / match other { [INFO] [stderr] 472 | | &Value::Int(v2) => v == v2, [INFO] [stderr] 473 | | &Value::Str(_, _) => false [INFO] [stderr] 474 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 471 | match *other { [INFO] [stderr] 472 | Value::Int(v2) => v == v2, [INFO] [stderr] 473 | Value::Str(_, _) => false [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:477:17 [INFO] [stderr] | [INFO] [stderr] 477 | / match other { [INFO] [stderr] 478 | | &Value::Int(_) => false, [INFO] [stderr] 479 | | &Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] 480 | | if len != len2 { [INFO] [stderr] ... | [INFO] [stderr] 493 | | } [INFO] [stderr] 494 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 477 | match *other { [INFO] [stderr] 478 | Value::Int(_) => false, [INFO] [stderr] 479 | Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:502:14 [INFO] [stderr] | [INFO] [stderr] 502 | Some(match self { [INFO] [stderr] | ______________^ [INFO] [stderr] 503 | | &Value::Int(v) => { [INFO] [stderr] 504 | | match other { [INFO] [stderr] 505 | | &Value::Int(v2) => { [INFO] [stderr] ... | [INFO] [stderr] 572 | | } [INFO] [stderr] 573 | | }) [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 502 | Some(match *self { [INFO] [stderr] 503 | Value::Int(v) => { [INFO] [stderr] 504 | match other { [INFO] [stderr] 505 | &Value::Int(v2) => { [INFO] [stderr] 506 | v.cmp(&v2) [INFO] [stderr] 507 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:504:17 [INFO] [stderr] | [INFO] [stderr] 504 | / match other { [INFO] [stderr] 505 | | &Value::Int(v2) => { [INFO] [stderr] 506 | | v.cmp(&v2) [INFO] [stderr] 507 | | } [INFO] [stderr] 508 | | &Value::Str(_, _) => std::cmp::Ordering::Less [INFO] [stderr] 509 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 504 | match *other { [INFO] [stderr] 505 | Value::Int(v2) => { [INFO] [stderr] 506 | v.cmp(&v2) [INFO] [stderr] 507 | } [INFO] [stderr] 508 | Value::Str(_, _) => std::cmp::Ordering::Less [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:512:17 [INFO] [stderr] | [INFO] [stderr] 512 | / match other { [INFO] [stderr] 513 | | &Value::Int(_) => std::cmp::Ordering::Greater, [INFO] [stderr] 514 | | &Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] 515 | | match len.cmp(&len2) { [INFO] [stderr] ... | [INFO] [stderr] 570 | | } [INFO] [stderr] 571 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 512 | match *other { [INFO] [stderr] 513 | Value::Int(_) => std::cmp::Ordering::Greater, [INFO] [stderr] 514 | Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/lib.rs:534:36 [INFO] [stderr] | [INFO] [stderr] 534 | if len <= 0 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using len == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:598:9 [INFO] [stderr] | [INFO] [stderr] 598 | self.to_bits() as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.to_bits())` [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 i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:612:9 [INFO] [stderr] | [INFO] [stderr] 612 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:619:9 [INFO] [stderr] | [INFO] [stderr] 619 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:626:9 [INFO] [stderr] | [INFO] [stderr] 626 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:633:9 [INFO] [stderr] | [INFO] [stderr] 633 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:640:9 [INFO] [stderr] | [INFO] [stderr] 640 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:647:9 [INFO] [stderr] | [INFO] [stderr] 647 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:699:22 [INFO] [stderr] | [INFO] [stderr] 699 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:730:22 [INFO] [stderr] | [INFO] [stderr] 730 | *(ptr as *mut [u8; size_of::()] as *mut u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut isize`) [INFO] [stderr] --> src/lib.rs:755:34 [INFO] [stderr] | [INFO] [stderr] 755 | unsafe { isize::from_le(*(ptr as *mut [u8; size_of::()] as *mut isize)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:777:34 [INFO] [stderr] | [INFO] [stderr] 777 | unsafe { usize::from_le(*(ptr as *mut [u8; std::mem::size_of::()] as *mut usize)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:800:14 [INFO] [stderr] | [INFO] [stderr] 800 | *ptr as Self::Output [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::not_unsafe_ptr_arg_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:824:14 [INFO] [stderr] | [INFO] [stderr] 824 | *ptr as Self::Output [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut i16`) [INFO] [stderr] --> src/lib.rs:847:32 [INFO] [stderr] | [INFO] [stderr] 847 | unsafe { i16::from_le(*(ptr as *mut [u8; size_of::()] as *mut i16)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut u16`) [INFO] [stderr] --> src/lib.rs:869:32 [INFO] [stderr] | [INFO] [stderr] 869 | unsafe { u16::from_le(*(ptr as *mut [u8; size_of::()] as *mut u16)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut i32`) [INFO] [stderr] --> src/lib.rs:891:32 [INFO] [stderr] | [INFO] [stderr] 891 | unsafe { i32::from_le(*(ptr as *mut [u8; size_of::()] as *mut i32)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:913:32 [INFO] [stderr] | [INFO] [stderr] 913 | unsafe { u32::from_le(*(ptr as *mut [u8; std::mem::size_of::()] as *mut u32)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut i64`) [INFO] [stderr] --> src/lib.rs:935:32 [INFO] [stderr] | [INFO] [stderr] 935 | unsafe { i64::from_le(*(ptr as *mut [u8; size_of::()] as *mut i64)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:957:32 [INFO] [stderr] | [INFO] [stderr] 957 | unsafe { u64::from_le(*(ptr as *mut [u8; size_of::()] as *mut u64)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut i128`) [INFO] [stderr] --> src/lib.rs:979:33 [INFO] [stderr] | [INFO] [stderr] 979 | unsafe { i128::from_le(*(ptr as *mut [u8; size_of::()] as *mut i128)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut u128`) [INFO] [stderr] --> src/lib.rs:1001:33 [INFO] [stderr] | [INFO] [stderr] 1001 | unsafe { u128::from_le(*(ptr as *mut [u8; size_of::()] as *mut u128)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:1039:45 [INFO] [stderr] | [INFO] [stderr] 1039 | unsafe { std::slice::from_raw_parts(ptr, len) } [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:1060:44 [INFO] [stderr] | [INFO] [stderr] 1060 | std::slice::from_raw_parts(ptr, len) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] warning: item `Listpack` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:1102:1 [INFO] [stderr] | [INFO] [stderr] 1102 | / impl Listpack { [INFO] [stderr] 1103 | | pub fn new() -> Listpack { [INFO] [stderr] 1104 | | return Listpack { lp: unsafe { lpNew() } }; [INFO] [stderr] 1105 | | } [INFO] [stderr] ... | [INFO] [stderr] 1810 | | } [INFO] [stderr] 1811 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `Listpack` [INFO] [stderr] --> src/lib.rs:1103:5 [INFO] [stderr] | [INFO] [stderr] 1103 | / pub fn new() -> Listpack { [INFO] [stderr] 1104 | | return Listpack { lp: unsafe { lpNew() } }; [INFO] [stderr] 1105 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 1102 | impl Default for Listpack { [INFO] [stderr] 1103 | fn default() -> Self { [INFO] [stderr] 1104 | Self::new() [INFO] [stderr] 1105 | } [INFO] [stderr] 1106 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1169:25 [INFO] [stderr] | [INFO] [stderr] 1169 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1174:31 [INFO] [stderr] | [INFO] [stderr] 1174 | self.replace_int(ele, v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1189:25 [INFO] [stderr] | [INFO] [stderr] 1189 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1204:25 [INFO] [stderr] | [INFO] [stderr] 1204 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1219:25 [INFO] [stderr] | [INFO] [stderr] 1219 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1234:25 [INFO] [stderr] | [INFO] [stderr] 1234 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1249:25 [INFO] [stderr] | [INFO] [stderr] 1249 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1324:25 [INFO] [stderr] | [INFO] [stderr] 1324 | self.append_int(v.to_bits() as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(v.to_bits())` [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] error: aborting due to 30 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `listpack`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | / match &v { [INFO] [stderr] 58 | | &Value::Int(i) => i as Self, [INFO] [stderr] 59 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 60 | | if len == 0 || ptr.is_null() { [INFO] [stderr] ... | [INFO] [stderr] 65 | | } [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 57 | match v { [INFO] [stderr] 58 | Value::Int(i) => i as Self, [INFO] [stderr] 59 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:73:20 [INFO] [stderr] | [INFO] [stderr] 73 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | / match &v { [INFO] [stderr] 80 | | &Value::Int(i) => i as Self, [INFO] [stderr] 81 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 82 | | if len == 0 { [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 79 | match v { [INFO] [stderr] 80 | Value::Int(i) => i as Self, [INFO] [stderr] 81 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | / match &v { [INFO] [stderr] 102 | | &Value::Int(i) => i as Self, [INFO] [stderr] 103 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 104 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 101 | match v { [INFO] [stderr] 102 | Value::Int(i) => i as Self, [INFO] [stderr] 103 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut u16`) [INFO] [stderr] --> src/lib.rs:107:36 [INFO] [stderr] | [INFO] [stderr] 107 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:117:20 [INFO] [stderr] | [INFO] [stderr] 117 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | / match &v { [INFO] [stderr] 124 | | &Value::Int(i) => i as Self, [INFO] [stderr] 125 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 126 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 131 | | } [INFO] [stderr] 132 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 123 | match v { [INFO] [stderr] 124 | Value::Int(i) => i as Self, [INFO] [stderr] 125 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut i16`) [INFO] [stderr] --> src/lib.rs:129:36 [INFO] [stderr] | [INFO] [stderr] 129 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:139:20 [INFO] [stderr] | [INFO] [stderr] 139 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | / match &v { [INFO] [stderr] 146 | | &Value::Int(i) => i as Self, [INFO] [stderr] 147 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 148 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 153 | | } [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 145 | match v { [INFO] [stderr] 146 | Value::Int(i) => i as Self, [INFO] [stderr] 147 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:151:36 [INFO] [stderr] | [INFO] [stderr] 151 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:161:20 [INFO] [stderr] | [INFO] [stderr] 161 | Value::Int(self as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | / match &v { [INFO] [stderr] 168 | | &Value::Int(i) => i as Self, [INFO] [stderr] 169 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 170 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 175 | | } [INFO] [stderr] 176 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 167 | match v { [INFO] [stderr] 168 | Value::Int(i) => i as Self, [INFO] [stderr] 169 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut i32`) [INFO] [stderr] --> src/lib.rs:173:36 [INFO] [stderr] | [INFO] [stderr] 173 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | / match &v { [INFO] [stderr] 190 | | &Value::Int(i) => i as Self, [INFO] [stderr] 191 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 192 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 197 | | } [INFO] [stderr] 198 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 189 | match v { [INFO] [stderr] 190 | Value::Int(i) => i as Self, [INFO] [stderr] 191 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:195:36 [INFO] [stderr] | [INFO] [stderr] 195 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | / match &v { [INFO] [stderr] 212 | | &Value::Int(i) => i as Self, [INFO] [stderr] 213 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 214 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 219 | | } [INFO] [stderr] 220 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 211 | match v { [INFO] [stderr] 212 | Value::Int(i) => i as Self, [INFO] [stderr] 213 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut i64`) [INFO] [stderr] --> src/lib.rs:217:36 [INFO] [stderr] | [INFO] [stderr] 217 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | / match &v { [INFO] [stderr] 234 | | &Value::Int(i) => i as Self, [INFO] [stderr] 235 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 236 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 241 | | } [INFO] [stderr] 242 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 233 | match v { [INFO] [stderr] 234 | Value::Int(i) => i as Self, [INFO] [stderr] 235 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut isize`) [INFO] [stderr] --> src/lib.rs:239:36 [INFO] [stderr] | [INFO] [stderr] 239 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | / match &v { [INFO] [stderr] 256 | | &Value::Int(i) => i as Self, [INFO] [stderr] 257 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 258 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 263 | | } [INFO] [stderr] 264 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 255 | match v { [INFO] [stderr] 256 | Value::Int(i) => i as Self, [INFO] [stderr] 257 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:261:36 [INFO] [stderr] | [INFO] [stderr] 261 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:271:20 [INFO] [stderr] | [INFO] [stderr] 271 | Value::Int(self.to_bits() as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.to_bits())` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | / match &v { [INFO] [stderr] 278 | | &Value::Int(i) => Self::from_bits(i as u32), [INFO] [stderr] 279 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 280 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 290 | | } [INFO] [stderr] 291 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 277 | match v { [INFO] [stderr] 278 | Value::Int(i) => Self::from_bits(i as u32), [INFO] [stderr] 279 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:286:30 [INFO] [stderr] | [INFO] [stderr] 286 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:304:9 [INFO] [stderr] | [INFO] [stderr] 304 | / match &v { [INFO] [stderr] 305 | | &Value::Int(i) => Self::from_bits(i as u64), [INFO] [stderr] 306 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 307 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 326 | | } [INFO] [stderr] 327 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 304 | match v { [INFO] [stderr] 305 | Value::Int(i) => Self::from_bits(i as u64), [INFO] [stderr] 306 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:310:25 [INFO] [stderr] | [INFO] [stderr] 310 | / f32::from_bits( [INFO] [stderr] 311 | | u32::from_le( [INFO] [stderr] 312 | | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] 313 | | ) [INFO] [stderr] 314 | | ) as f64 [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 | f64::from(f32::from_bits( [INFO] [stderr] 311 | u32::from_le( [INFO] [stderr] 312 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] 313 | ) [INFO] [stderr] 314 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:312:34 [INFO] [stderr] | [INFO] [stderr] 312 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:322:30 [INFO] [stderr] | [INFO] [stderr] 322 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:341:9 [INFO] [stderr] | [INFO] [stderr] 341 | / match &v { [INFO] [stderr] 342 | | &Value::Int(i) => i as Self, [INFO] [stderr] 343 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 344 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 349 | | } [INFO] [stderr] 350 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 341 | match v { [INFO] [stderr] 342 | Value::Int(i) => i as Self, [INFO] [stderr] 343 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut u128`) [INFO] [stderr] --> src/lib.rs:347:36 [INFO] [stderr] | [INFO] [stderr] 347 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | / match &v { [INFO] [stderr] 365 | | &Value::Int(i) => i as Self, [INFO] [stderr] 366 | | &Value::Str(ptr, len) => unsafe { [INFO] [stderr] 367 | | if len != std::mem::size_of::() { [INFO] [stderr] ... | [INFO] [stderr] 372 | | } [INFO] [stderr] 373 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 364 | match v { [INFO] [stderr] 365 | Value::Int(i) => i as Self, [INFO] [stderr] 366 | Value::Str(ptr, len) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i64 to i128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:365:31 [INFO] [stderr] | [INFO] [stderr] 365 | &Value::Int(i) => i as Self, [INFO] [stderr] | ^^^^^^^^^ help: try: `i128::from(i)` [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] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut i128`) [INFO] [stderr] --> src/lib.rs:370:36 [INFO] [stderr] | [INFO] [stderr] 370 | Self::from_le(*(ptr as *mut [u8; size_of::()] as *mut Self)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:469:9 [INFO] [stderr] | [INFO] [stderr] 469 | / match self { [INFO] [stderr] 470 | | &Value::Int(v) => { [INFO] [stderr] 471 | | match other { [INFO] [stderr] 472 | | &Value::Int(v2) => v == v2, [INFO] [stderr] ... | [INFO] [stderr] 495 | | } [INFO] [stderr] 496 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 469 | match *self { [INFO] [stderr] 470 | Value::Int(v) => { [INFO] [stderr] 471 | match other { [INFO] [stderr] 472 | &Value::Int(v2) => v == v2, [INFO] [stderr] 473 | &Value::Str(_, _) => false [INFO] [stderr] 474 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:471:17 [INFO] [stderr] | [INFO] [stderr] 471 | / match other { [INFO] [stderr] 472 | | &Value::Int(v2) => v == v2, [INFO] [stderr] 473 | | &Value::Str(_, _) => false [INFO] [stderr] 474 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 471 | match *other { [INFO] [stderr] 472 | Value::Int(v2) => v == v2, [INFO] [stderr] 473 | Value::Str(_, _) => false [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:477:17 [INFO] [stderr] | [INFO] [stderr] 477 | / match other { [INFO] [stderr] 478 | | &Value::Int(_) => false, [INFO] [stderr] 479 | | &Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] 480 | | if len != len2 { [INFO] [stderr] ... | [INFO] [stderr] 493 | | } [INFO] [stderr] 494 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 477 | match *other { [INFO] [stderr] 478 | Value::Int(_) => false, [INFO] [stderr] 479 | Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:502:14 [INFO] [stderr] | [INFO] [stderr] 502 | Some(match self { [INFO] [stderr] | ______________^ [INFO] [stderr] 503 | | &Value::Int(v) => { [INFO] [stderr] 504 | | match other { [INFO] [stderr] 505 | | &Value::Int(v2) => { [INFO] [stderr] ... | [INFO] [stderr] 572 | | } [INFO] [stderr] 573 | | }) [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 502 | Some(match *self { [INFO] [stderr] 503 | Value::Int(v) => { [INFO] [stderr] 504 | match other { [INFO] [stderr] 505 | &Value::Int(v2) => { [INFO] [stderr] 506 | v.cmp(&v2) [INFO] [stderr] 507 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:504:17 [INFO] [stderr] | [INFO] [stderr] 504 | / match other { [INFO] [stderr] 505 | | &Value::Int(v2) => { [INFO] [stderr] 506 | | v.cmp(&v2) [INFO] [stderr] 507 | | } [INFO] [stderr] 508 | | &Value::Str(_, _) => std::cmp::Ordering::Less [INFO] [stderr] 509 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 504 | match *other { [INFO] [stderr] 505 | Value::Int(v2) => { [INFO] [stderr] 506 | v.cmp(&v2) [INFO] [stderr] 507 | } [INFO] [stderr] 508 | Value::Str(_, _) => std::cmp::Ordering::Less [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:512:17 [INFO] [stderr] | [INFO] [stderr] 512 | / match other { [INFO] [stderr] 513 | | &Value::Int(_) => std::cmp::Ordering::Greater, [INFO] [stderr] 514 | | &Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] 515 | | match len.cmp(&len2) { [INFO] [stderr] ... | [INFO] [stderr] 570 | | } [INFO] [stderr] 571 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 512 | match *other { [INFO] [stderr] 513 | Value::Int(_) => std::cmp::Ordering::Greater, [INFO] [stderr] 514 | Value::Str(ptr2, len2) => unsafe { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/lib.rs:534:36 [INFO] [stderr] | [INFO] [stderr] 534 | if len <= 0 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using len == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:598:9 [INFO] [stderr] | [INFO] [stderr] 598 | self.to_bits() as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.to_bits())` [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 i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:612:9 [INFO] [stderr] | [INFO] [stderr] 612 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:619:9 [INFO] [stderr] | [INFO] [stderr] 619 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:626:9 [INFO] [stderr] | [INFO] [stderr] 626 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:633:9 [INFO] [stderr] | [INFO] [stderr] 633 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:640:9 [INFO] [stderr] | [INFO] [stderr] 640 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:647:9 [INFO] [stderr] | [INFO] [stderr] 647 | self as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(self)` [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] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:699:22 [INFO] [stderr] | [INFO] [stderr] 699 | *(ptr as *mut [u8; std::mem::size_of::()] as *mut u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:730:22 [INFO] [stderr] | [INFO] [stderr] 730 | *(ptr as *mut [u8; size_of::()] as *mut u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut isize`) [INFO] [stderr] --> src/lib.rs:755:34 [INFO] [stderr] | [INFO] [stderr] 755 | unsafe { isize::from_le(*(ptr as *mut [u8; size_of::()] as *mut isize)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:777:34 [INFO] [stderr] | [INFO] [stderr] 777 | unsafe { usize::from_le(*(ptr as *mut [u8; std::mem::size_of::()] as *mut usize)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:800:14 [INFO] [stderr] | [INFO] [stderr] 800 | *ptr as Self::Output [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::not_unsafe_ptr_arg_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:824:14 [INFO] [stderr] | [INFO] [stderr] 824 | *ptr as Self::Output [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut i16`) [INFO] [stderr] --> src/lib.rs:847:32 [INFO] [stderr] | [INFO] [stderr] 847 | unsafe { i16::from_le(*(ptr as *mut [u8; size_of::()] as *mut i16)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 2]` to a more-strictly-aligned pointer (`*mut u16`) [INFO] [stderr] --> src/lib.rs:869:32 [INFO] [stderr] | [INFO] [stderr] 869 | unsafe { u16::from_le(*(ptr as *mut [u8; size_of::()] as *mut u16)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut i32`) [INFO] [stderr] --> src/lib.rs:891:32 [INFO] [stderr] | [INFO] [stderr] 891 | unsafe { i32::from_le(*(ptr as *mut [u8; size_of::()] as *mut i32)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 4]` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/lib.rs:913:32 [INFO] [stderr] | [INFO] [stderr] 913 | unsafe { u32::from_le(*(ptr as *mut [u8; std::mem::size_of::()] as *mut u32)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut i64`) [INFO] [stderr] --> src/lib.rs:935:32 [INFO] [stderr] | [INFO] [stderr] 935 | unsafe { i64::from_le(*(ptr as *mut [u8; size_of::()] as *mut i64)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 8]` to a more-strictly-aligned pointer (`*mut u64`) [INFO] [stderr] --> src/lib.rs:957:32 [INFO] [stderr] | [INFO] [stderr] 957 | unsafe { u64::from_le(*(ptr as *mut [u8; size_of::()] as *mut u64)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut i128`) [INFO] [stderr] --> src/lib.rs:979:33 [INFO] [stderr] | [INFO] [stderr] 979 | unsafe { i128::from_le(*(ptr as *mut [u8; size_of::()] as *mut i128)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut [u8; 16]` to a more-strictly-aligned pointer (`*mut u128`) [INFO] [stderr] --> src/lib.rs:1001:33 [INFO] [stderr] | [INFO] [stderr] 1001 | unsafe { u128::from_le(*(ptr as *mut [u8; size_of::()] as *mut u128)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:1039:45 [INFO] [stderr] | [INFO] [stderr] 1039 | unsafe { std::slice::from_raw_parts(ptr, len) } [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:1060:44 [INFO] [stderr] | [INFO] [stderr] 1060 | std::slice::from_raw_parts(ptr, len) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] warning: item `Listpack` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:1102:1 [INFO] [stderr] | [INFO] [stderr] 1102 | / impl Listpack { [INFO] [stderr] 1103 | | pub fn new() -> Listpack { [INFO] [stderr] 1104 | | return Listpack { lp: unsafe { lpNew() } }; [INFO] [stderr] 1105 | | } [INFO] [stderr] ... | [INFO] [stderr] 1810 | | } [INFO] [stderr] 1811 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `Listpack` [INFO] [stderr] --> src/lib.rs:1103:5 [INFO] [stderr] | [INFO] [stderr] 1103 | / pub fn new() -> Listpack { [INFO] [stderr] 1104 | | return Listpack { lp: unsafe { lpNew() } }; [INFO] [stderr] 1105 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 1102 | impl Default for Listpack { [INFO] [stderr] 1103 | fn default() -> Self { [INFO] [stderr] 1104 | Self::new() [INFO] [stderr] 1105 | } [INFO] [stderr] 1106 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1169:25 [INFO] [stderr] | [INFO] [stderr] 1169 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1174:31 [INFO] [stderr] | [INFO] [stderr] 1174 | self.replace_int(ele, v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1189:25 [INFO] [stderr] | [INFO] [stderr] 1189 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1204:25 [INFO] [stderr] | [INFO] [stderr] 1204 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1219:25 [INFO] [stderr] | [INFO] [stderr] 1219 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1234:25 [INFO] [stderr] | [INFO] [stderr] 1234 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1249:25 [INFO] [stderr] | [INFO] [stderr] 1249 | self.append_int(v as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:1324:25 [INFO] [stderr] | [INFO] [stderr] 1324 | self.append_int(v.to_bits() as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(v.to_bits())` [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] error: aborting due to 30 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `listpack`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c73d21449316a4c4f310b7216f195c60a752262e00b25aa354a55fb47227ae43"` [INFO] running `"docker" "rm" "-f" "c73d21449316a4c4f310b7216f195c60a752262e00b25aa354a55fb47227ae43"` [INFO] [stdout] c73d21449316a4c4f310b7216f195c60a752262e00b25aa354a55fb47227ae43