[INFO] updating cached repository uhyo/bf-wasm [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/uhyo/bf-wasm [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/uhyo/bf-wasm" "work/ex/clippy-test-run/sources/stable/gh/uhyo/bf-wasm"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/uhyo/bf-wasm'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/uhyo/bf-wasm" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/uhyo/bf-wasm"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/uhyo/bf-wasm'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 16a99b591493b6b6912ced04f99782aa4ef3c277 [INFO] sha for GitHub repo uhyo/bf-wasm: 16a99b591493b6b6912ced04f99782aa4ef3c277 [INFO] validating manifest of uhyo/bf-wasm 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 uhyo/bf-wasm 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 uhyo/bf-wasm [INFO] finished frobbing uhyo/bf-wasm [INFO] frobbed toml for uhyo/bf-wasm written to work/ex/clippy-test-run/sources/stable/gh/uhyo/bf-wasm/Cargo.toml [INFO] started frobbing uhyo/bf-wasm [INFO] finished frobbing uhyo/bf-wasm [INFO] frobbed toml for uhyo/bf-wasm written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/uhyo/bf-wasm/Cargo.toml [INFO] crate uhyo/bf-wasm has a lockfile. skipping [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 uhyo/bf-wasm 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/gh/uhyo/bf-wasm:/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] b42302d79ee5f92bed8eae0e70e75bab9790a0671f04fd402ce2b4488586da46 [INFO] running `"docker" "start" "-a" "b42302d79ee5f92bed8eae0e70e75bab9790a0671f04fd402ce2b4488586da46"` [INFO] [stderr] Checking bf-gen-interpreter v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/run.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | / return RunResult { [INFO] [stderr] 170 | | input_read: in_bytes, [INFO] [stderr] 171 | | output_size: written_bytes, [INFO] [stderr] 172 | | pc, [INFO] [stderr] 173 | | ptr, [INFO] [stderr] 174 | | error: Some(ERROR_ENDED), [INFO] [stderr] 175 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 169 | RunResult { [INFO] [stderr] 170 | input_read: in_bytes, [INFO] [stderr] 171 | output_size: written_bytes, [INFO] [stderr] 172 | pc, [INFO] [stderr] 173 | ptr, [INFO] [stderr] 174 | error: Some(ERROR_ENDED), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:49:3 [INFO] [stderr] | [INFO] [stderr] 49 | return ERROR_NONE; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ERROR_NONE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/run.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | / return RunResult { [INFO] [stderr] 170 | | input_read: in_bytes, [INFO] [stderr] 171 | | output_size: written_bytes, [INFO] [stderr] 172 | | pc, [INFO] [stderr] 173 | | ptr, [INFO] [stderr] 174 | | error: Some(ERROR_ENDED), [INFO] [stderr] 175 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 169 | RunResult { [INFO] [stderr] 170 | input_read: in_bytes, [INFO] [stderr] 171 | output_size: written_bytes, [INFO] [stderr] 172 | pc, [INFO] [stderr] 173 | ptr, [INFO] [stderr] 174 | error: Some(ERROR_ENDED), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:49:3 [INFO] [stderr] | [INFO] [stderr] 49 | return ERROR_NONE; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ERROR_NONE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:3:25 [INFO] [stderr] | [INFO] [stderr] 3 | pub const OP_PLUS: u8 = '+' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'+' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | pub const OP_MINUS: u8 = '-' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'-' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | pub const OP_LEFT: u8 = '<' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'<' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:6:26 [INFO] [stderr] | [INFO] [stderr] 6 | pub const OP_RIGHT: u8 = '>' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'>' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | pub const OP_OUT: u8 = '.' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'.' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:8:23 [INFO] [stderr] | [INFO] [stderr] 8 | pub const OP_IN: u8 = ',' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b',' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:9:25 [INFO] [stderr] | [INFO] [stderr] 9 | pub const OP_OPEN: u8 = '[' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'[' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | pub const OP_CLOSE: u8 = ']' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b']' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/run.rs:47:6 [INFO] [stderr] | [INFO] [stderr] 47 | if stack.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/run.rs:106:11 [INFO] [stderr] | [INFO] [stderr] 106 | ptr = ptr - v; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `ptr -= v` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/run.rs:118:11 [INFO] [stderr] | [INFO] [stderr] 118 | ptr = ptr + v; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `ptr += v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:32:38 [INFO] [stderr] | [INFO] [stderr] 32 | let prog = slice::from_raw_parts(code_ptr, len); [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] warning: slow zero-filling initialization [INFO] [stderr] --> src/lib.rs:55:3 [INFO] [stderr] | [INFO] [stderr] 54 | let mut buf = Vec::with_capacity(size); [INFO] [stderr] | ------------------------ help: consider replace allocation with: `vec![0; size]` [INFO] [stderr] 55 | buf.resize(size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:65:33 [INFO] [stderr] | [INFO] [stderr] 65 | let _ = Vec::from_raw_parts(ptr, 0, size); [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: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/lib.rs:72:20 [INFO] [stderr] | [INFO] [stderr] 72 | let mut result = 0 as *mut c_uchar; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/lib.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 74 | let mut newbuf = Vec::with_capacity(size); [INFO] [stderr] | ------------------------ help: consider replace allocation with: `vec![0; size]` [INFO] [stderr] 75 | newbuf.resize(size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:90:31 [INFO] [stderr] | [INFO] [stderr] 90 | slice::from_raw_parts_mut(buf, capacity) [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: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. [INFO] [stderr] --> src/lib.rs:135:3 [INFO] [stderr] | [INFO] [stderr] 135 | mem::forget(outbuf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::forget_ref)] on by default [INFO] [stderr] note: argument has type &mut [u8] [INFO] [stderr] --> src/lib.rs:135:15 [INFO] [stderr] | [INFO] [stderr] 135 | mem::forget(outbuf); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:3:25 [INFO] [stderr] | [INFO] [stderr] 3 | pub const OP_PLUS: u8 = '+' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'+' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | pub const OP_MINUS: u8 = '-' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'-' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | pub const OP_LEFT: u8 = '<' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'<' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:6:26 [INFO] [stderr] | [INFO] [stderr] 6 | pub const OP_RIGHT: u8 = '>' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'>' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | pub const OP_OUT: u8 = '.' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'.' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:8:23 [INFO] [stderr] | [INFO] [stderr] 8 | pub const OP_IN: u8 = ',' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b',' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:9:25 [INFO] [stderr] | [INFO] [stderr] 9 | pub const OP_OPEN: u8 = '[' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'[' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/program.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | pub const OP_CLOSE: u8 = ']' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b']' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] error: Could not compile `bf-gen-interpreter`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/run.rs:47:6 [INFO] [stderr] | [INFO] [stderr] 47 | if stack.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/run.rs:106:11 [INFO] [stderr] | [INFO] [stderr] 106 | ptr = ptr - v; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `ptr -= v` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/run.rs:118:11 [INFO] [stderr] | [INFO] [stderr] 118 | ptr = ptr + v; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `ptr += v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:32:38 [INFO] [stderr] | [INFO] [stderr] 32 | let prog = slice::from_raw_parts(code_ptr, len); [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] warning: slow zero-filling initialization [INFO] [stderr] --> src/lib.rs:55:3 [INFO] [stderr] | [INFO] [stderr] 54 | let mut buf = Vec::with_capacity(size); [INFO] [stderr] | ------------------------ help: consider replace allocation with: `vec![0; size]` [INFO] [stderr] 55 | buf.resize(size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:65:33 [INFO] [stderr] | [INFO] [stderr] 65 | let _ = Vec::from_raw_parts(ptr, 0, size); [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: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/lib.rs:72:20 [INFO] [stderr] | [INFO] [stderr] 72 | let mut result = 0 as *mut c_uchar; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/lib.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 74 | let mut newbuf = Vec::with_capacity(size); [INFO] [stderr] | ------------------------ help: consider replace allocation with: `vec![0; size]` [INFO] [stderr] 75 | newbuf.resize(size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:90:31 [INFO] [stderr] | [INFO] [stderr] 90 | slice::from_raw_parts_mut(buf, capacity) [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: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. [INFO] [stderr] --> src/lib.rs:135:3 [INFO] [stderr] | [INFO] [stderr] 135 | mem::forget(outbuf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::forget_ref)] on by default [INFO] [stderr] note: argument has type &mut [u8] [INFO] [stderr] --> src/lib.rs:135:15 [INFO] [stderr] | [INFO] [stderr] 135 | mem::forget(outbuf); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `bf-gen-interpreter`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b42302d79ee5f92bed8eae0e70e75bab9790a0671f04fd402ce2b4488586da46"` [INFO] running `"docker" "rm" "-f" "b42302d79ee5f92bed8eae0e70e75bab9790a0671f04fd402ce2b4488586da46"` [INFO] [stdout] b42302d79ee5f92bed8eae0e70e75bab9790a0671f04fd402ce2b4488586da46