[INFO] cloning repository https://github.com/saifalkatout/Rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/saifalkatout/Rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsaifalkatout%2FRlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsaifalkatout%2FRlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 546f56c207ea2ea6e3b94a3338f3108a1cfdad3f [INFO] testing saifalkatout/Rlox against beta-2025-01-12 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsaifalkatout%2FRlox" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/saifalkatout/Rlox on toolchain beta-2025-01-12 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/saifalkatout/Rlox [INFO] finished tweaking git repo https://github.com/saifalkatout/Rlox [INFO] tweaked toml for git repo https://github.com/saifalkatout/Rlox written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/saifalkatout/Rlox already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-01-12" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b4439294d2b8cb7886889d12d98dcc8abb39522c02bce9daaa7223cc6f2d302c [INFO] running `Command { std: "docker" "start" "-a" "b4439294d2b8cb7886889d12d98dcc8abb39522c02bce9daaa7223cc6f2d302c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b4439294d2b8cb7886889d12d98dcc8abb39522c02bce9daaa7223cc6f2d302c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b4439294d2b8cb7886889d12d98dcc8abb39522c02bce9daaa7223cc6f2d302c", kill_on_drop: false }` [INFO] [stdout] b4439294d2b8cb7886889d12d98dcc8abb39522c02bce9daaa7223cc6f2d302c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70906f538752aee8173b8493a1f62119cdaa5af572b40154428506a1bb349cf9 [INFO] running `Command { std: "docker" "start" "-a" "70906f538752aee8173b8493a1f62119cdaa5af572b40154428506a1bb349cf9", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.150 [INFO] [stderr] Compiling Rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/chunk.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr::drop_in_place` [INFO] [stdout] --> src/chunk.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{self, os::raw::c_void, ptr::drop_in_place}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `free_array` [INFO] [stdout] --> src/chunk.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{memory::{free_array, grow_array, grow_capacity}, value::{ValueArray, free_value_array, Value, WriteValueArray}}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/debug.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::raw::c_void` [INFO] [stdout] --> src/debug.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::os::raw::c_void; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/debug.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::chunk::{Chunk, OpCode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OpConstant` and `OpReturn` [INFO] [stdout] --> src/debug.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::chunk::OpCode::{OpReturn,OpConstant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/debug.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | if (offset > 0 && [INFO] [stdout] | ^ [INFO] [stdout] 20 | unsafe { *(c.GetLines().add(offset as usize)) == *(c.GetLines().add((offset - 1) as usize))}) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 ~ if offset > 0 && [INFO] [stdout] 20 ~ unsafe { *(c.GetLines().add(offset as usize)) == *(c.GetLines().add((offset - 1) as usize))} { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chunk::freeChunk` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use chunk::freeChunk; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `CreateChunk` is never used [INFO] [stdout] --> src/chunk.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn CreateChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `freeChunk` is never used [INFO] [stdout] --> src/chunk.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn freeChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `free_array` is never used [INFO] [stdout] --> src/memory.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `free_value_array` is never used [INFO] [stdout] --> src/value.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn free_value_array(v: &mut ValueArray) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getCode` should have a snake case name [INFO] [stdout] --> src/chunk.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn getCode(&self) -> *mut u8 { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_code` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getCount` should have a snake case name [INFO] [stdout] --> src/chunk.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn getCount(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `GetConstants` should have a snake case name [INFO] [stdout] --> src/chunk.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn GetConstants(&self) -> ValueArray { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_constants` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `GetLines` should have a snake case name [INFO] [stdout] --> src/chunk.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn GetLines(&self) -> *mut i128 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_lines` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:40:41 [INFO] [stdout] | [INFO] [stdout] 40 | code: Vec::with_capacity(1).as_mut_ptr(), //Using Vac::new here is not suggested, as we need to allocate first then reallocate [INFO] [stdout] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:44:42 [INFO] [stdout] | [INFO] [stdout] 44 | lines: Vec::with_capacity(2).as_mut_ptr() //starting with 2, I feel i128 is diff from vec::with_cap return type (might be byte) [INFO] [stdout] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `CreateChunk` should have a snake case name [INFO] [stdout] --> src/chunk.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn CreateChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `create_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:52:25 [INFO] [stdout] | [INFO] [stdout] 52 | c.code = Vec::new().as_mut_ptr() [INFO] [stdout] | ---------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `WriteToChunk` should have a snake case name [INFO] [stdout] --> src/chunk.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn WriteToChunk( byte: u8, line: i128, c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldCapacity` should have a snake case name [INFO] [stdout] --> src/chunk.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let oldCapacity = c.capacity; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `old_capacity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `freeChunk` should have a snake case name [INFO] [stdout] --> src/chunk.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn freeChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `free_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:72:26 [INFO] [stdout] | [INFO] [stdout] 72 | c.lines = Vec::new().as_mut_ptr(); [INFO] [stdout] | ---------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addConstant` should have a snake case name [INFO] [stdout] --> src/chunk.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn addConstant(c: &mut Chunk, value: Value) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `add_constant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/memory.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:14:50 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `old_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:14:65 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/memory.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `old_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/memory.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `_oldSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:29:46 [INFO] [stdout] | [INFO] [stdout] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `_old_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:29:62 [INFO] [stdout] | [INFO] [stdout] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassembleChunk` should have a snake case name [INFO] [stdout] --> src/debug.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn disassembleChunk(c: &mut Chunk, name: &str){ //changing &str to String will make c.code point to the first value of the string. NE... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `disassemble_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassembleInstruction` should have a snake case name [INFO] [stdout] --> src/debug.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn disassembleInstruction(c: &Chunk, offset: u128) -> u128{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `disassemble_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simpleInstruction` should have a snake case name [INFO] [stdout] --> src/debug.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn simpleInstruction(name: &str, offset: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `simple_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constantInstruction` should have a snake case name [INFO] [stdout] --> src/debug.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn constantInstruction(name: &str, offset: u128, c: &Chunk) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `constant_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getCount` should have a snake case name [INFO] [stdout] --> src/value.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn getCount(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getValue` should have a snake case name [INFO] [stdout] --> src/value.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn getValue(&self, index: usize) -> Value { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/value.rs:26:43 [INFO] [stdout] | [INFO] [stdout] 26 | values: Vec::with_capacity(2).as_mut_ptr(), //Using Vac::new here is not suggested, as we need to allocate first then reallocate [INFO] [stdout] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `WriteValueArray` should have a snake case name [INFO] [stdout] --> src/value.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn WriteValueArray(v: &mut ValueArray, val: Value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_value_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldCapacity` should have a snake case name [INFO] [stdout] --> src/value.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let oldCapacity = v.capacity; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `old_capacity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printValue` should have a snake case name [INFO] [stdout] --> src/value.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn printValue(val: Value) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `print_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.42s [INFO] running `Command { std: "docker" "inspect" "70906f538752aee8173b8493a1f62119cdaa5af572b40154428506a1bb349cf9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70906f538752aee8173b8493a1f62119cdaa5af572b40154428506a1bb349cf9", kill_on_drop: false }` [INFO] [stdout] 70906f538752aee8173b8493a1f62119cdaa5af572b40154428506a1bb349cf9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9f1e0fa3baaad214a35870195f8e4d7272b41b598136ac9b27f57d28e80f710f [INFO] running `Command { std: "docker" "start" "-a" "9f1e0fa3baaad214a35870195f8e4d7272b41b598136ac9b27f57d28e80f710f", kill_on_drop: false }` [INFO] [stderr] Compiling Rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/chunk.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr::drop_in_place` [INFO] [stdout] --> src/chunk.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{self, os::raw::c_void, ptr::drop_in_place}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `free_array` [INFO] [stdout] --> src/chunk.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{memory::{free_array, grow_array, grow_capacity}, value::{ValueArray, free_value_array, Value, WriteValueArray}}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/debug.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::raw::c_void` [INFO] [stdout] --> src/debug.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::os::raw::c_void; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/debug.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::chunk::{Chunk, OpCode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OpConstant` and `OpReturn` [INFO] [stdout] --> src/debug.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::chunk::OpCode::{OpReturn,OpConstant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/debug.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | if (offset > 0 && [INFO] [stdout] | ^ [INFO] [stdout] 20 | unsafe { *(c.GetLines().add(offset as usize)) == *(c.GetLines().add((offset - 1) as usize))}) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 ~ if offset > 0 && [INFO] [stdout] 20 ~ unsafe { *(c.GetLines().add(offset as usize)) == *(c.GetLines().add((offset - 1) as usize))} { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chunk::freeChunk` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use chunk::freeChunk; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `CreateChunk` is never used [INFO] [stdout] --> src/chunk.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn CreateChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `freeChunk` is never used [INFO] [stdout] --> src/chunk.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn freeChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `free_array` is never used [INFO] [stdout] --> src/memory.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `free_value_array` is never used [INFO] [stdout] --> src/value.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn free_value_array(v: &mut ValueArray) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getCode` should have a snake case name [INFO] [stdout] --> src/chunk.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn getCode(&self) -> *mut u8 { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_code` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getCount` should have a snake case name [INFO] [stdout] --> src/chunk.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn getCount(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `GetConstants` should have a snake case name [INFO] [stdout] --> src/chunk.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn GetConstants(&self) -> ValueArray { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_constants` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `GetLines` should have a snake case name [INFO] [stdout] --> src/chunk.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn GetLines(&self) -> *mut i128 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_lines` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:40:41 [INFO] [stdout] | [INFO] [stdout] 40 | code: Vec::with_capacity(1).as_mut_ptr(), //Using Vac::new here is not suggested, as we need to allocate first then reallocate [INFO] [stdout] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:44:42 [INFO] [stdout] | [INFO] [stdout] 44 | lines: Vec::with_capacity(2).as_mut_ptr() //starting with 2, I feel i128 is diff from vec::with_cap return type (might be byte) [INFO] [stdout] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `CreateChunk` should have a snake case name [INFO] [stdout] --> src/chunk.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn CreateChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `create_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:52:25 [INFO] [stdout] | [INFO] [stdout] 52 | c.code = Vec::new().as_mut_ptr() [INFO] [stdout] | ---------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `WriteToChunk` should have a snake case name [INFO] [stdout] --> src/chunk.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn WriteToChunk( byte: u8, line: i128, c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldCapacity` should have a snake case name [INFO] [stdout] --> src/chunk.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let oldCapacity = c.capacity; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `old_capacity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `freeChunk` should have a snake case name [INFO] [stdout] --> src/chunk.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn freeChunk(c: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `free_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/chunk.rs:72:26 [INFO] [stdout] | [INFO] [stdout] 72 | c.lines = Vec::new().as_mut_ptr(); [INFO] [stdout] | ---------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addConstant` should have a snake case name [INFO] [stdout] --> src/chunk.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn addConstant(c: &mut Chunk, value: Value) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `add_constant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/memory.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:14:50 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `old_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:14:65 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/memory.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `old_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/memory.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `_oldSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:29:46 [INFO] [stdout] | [INFO] [stdout] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `_old_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newSize` should have a snake case name [INFO] [stdout] --> src/memory.rs:29:62 [INFO] [stdout] | [INFO] [stdout] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassembleChunk` should have a snake case name [INFO] [stdout] --> src/debug.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn disassembleChunk(c: &mut Chunk, name: &str){ //changing &str to String will make c.code point to the first value of the string. NE... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `disassemble_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassembleInstruction` should have a snake case name [INFO] [stdout] --> src/debug.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn disassembleInstruction(c: &Chunk, offset: u128) -> u128{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `disassemble_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simpleInstruction` should have a snake case name [INFO] [stdout] --> src/debug.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn simpleInstruction(name: &str, offset: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `simple_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constantInstruction` should have a snake case name [INFO] [stdout] --> src/debug.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn constantInstruction(name: &str, offset: u128, c: &Chunk) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `constant_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getCount` should have a snake case name [INFO] [stdout] --> src/value.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn getCount(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getValue` should have a snake case name [INFO] [stdout] --> src/value.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn getValue(&self, index: usize) -> Value { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stdout] --> src/value.rs:26:43 [INFO] [stdout] | [INFO] [stdout] 26 | values: Vec::with_capacity(2).as_mut_ptr(), //Using Vac::new here is not suggested, as we need to allocate first then reallocate [INFO] [stdout] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `WriteValueArray` should have a snake case name [INFO] [stdout] --> src/value.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn WriteValueArray(v: &mut ValueArray, val: Value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_value_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `oldCapacity` should have a snake case name [INFO] [stdout] --> src/value.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let oldCapacity = v.capacity; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `old_capacity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printValue` should have a snake case name [INFO] [stdout] --> src/value.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn printValue(val: Value) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `print_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s [INFO] running `Command { std: "docker" "inspect" "9f1e0fa3baaad214a35870195f8e4d7272b41b598136ac9b27f57d28e80f710f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f1e0fa3baaad214a35870195f8e4d7272b41b598136ac9b27f57d28e80f710f", kill_on_drop: false }` [INFO] [stdout] 9f1e0fa3baaad214a35870195f8e4d7272b41b598136ac9b27f57d28e80f710f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 04e7f6bfc5a3241c29fa34d9f110dbf8b0e51c82e66ec598c0fc4ee187c0e8b5 [INFO] running `Command { std: "docker" "start" "-a" "04e7f6bfc5a3241c29fa34d9f110dbf8b0e51c82e66ec598c0fc4ee187c0e8b5", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `core::panic` [INFO] [stderr] --> src/chunk.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use core::panic; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ptr::drop_in_place` [INFO] [stderr] --> src/chunk.rs:2:34 [INFO] [stderr] | [INFO] [stderr] 2 | use std::{self, os::raw::c_void, ptr::drop_in_place}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `free_array` [INFO] [stderr] --> src/chunk.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{memory::{free_array, grow_array, grow_capacity}, value::{ValueArray, free_value_array, Value, WriteValueArray}}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::panic` [INFO] [stderr] --> src/debug.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use core::panic; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::raw::c_void` [INFO] [stderr] --> src/debug.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::os::raw::c_void; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `OpCode` [INFO] [stderr] --> src/debug.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::chunk::{Chunk, OpCode}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `OpConstant` and `OpReturn` [INFO] [stderr] --> src/debug.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::chunk::OpCode::{OpReturn,OpConstant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/debug.rs:19:8 [INFO] [stderr] | [INFO] [stderr] 19 | if (offset > 0 && [INFO] [stderr] | ^ [INFO] [stderr] 20 | unsafe { *(c.GetLines().add(offset as usize)) == *(c.GetLines().add((offset - 1) as usize))}) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 19 ~ if offset > 0 && [INFO] [stderr] 20 ~ unsafe { *(c.GetLines().add(offset as usize)) == *(c.GetLines().add((offset - 1) as usize))} { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `chunk::freeChunk` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use chunk::freeChunk; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `CreateChunk` is never used [INFO] [stderr] --> src/chunk.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn CreateChunk(c: &mut Chunk) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `freeChunk` is never used [INFO] [stderr] --> src/chunk.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn freeChunk(c: &mut Chunk) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `free_array` is never used [INFO] [stderr] --> src/memory.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `free_value_array` is never used [INFO] [stderr] --> src/value.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn free_value_array(v: &mut ValueArray) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `getCode` should have a snake case name [INFO] [stderr] --> src/chunk.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn getCode(&self) -> *mut u8 { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `get_code` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `getCount` should have a snake case name [INFO] [stderr] --> src/chunk.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn getCount(&self) -> u128 { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `get_count` [INFO] [stderr] [INFO] [stderr] warning: method `GetConstants` should have a snake case name [INFO] [stderr] --> src/chunk.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn GetConstants(&self) -> ValueArray { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_constants` [INFO] [stderr] [INFO] [stderr] warning: method `GetLines` should have a snake case name [INFO] [stderr] --> src/chunk.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn GetLines(&self) -> *mut i128 { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `get_lines` [INFO] [stderr] [INFO] [stderr] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stderr] --> src/chunk.rs:40:41 [INFO] [stderr] | [INFO] [stderr] 40 | code: Vec::with_capacity(1).as_mut_ptr(), //Using Vac::new here is not suggested, as we need to allocate first then reallocate [INFO] [stderr] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stderr] | | [INFO] [stderr] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see [INFO] [stderr] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [INFO] [stderr] [INFO] [stderr] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stderr] --> src/chunk.rs:44:42 [INFO] [stderr] | [INFO] [stderr] 44 | lines: Vec::with_capacity(2).as_mut_ptr() //starting with 2, I feel i128 is diff from vec::with_cap return type (might be byte) [INFO] [stderr] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stderr] | | [INFO] [stderr] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see [INFO] [stderr] [INFO] [stderr] warning: function `CreateChunk` should have a snake case name [INFO] [stderr] --> src/chunk.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn CreateChunk(c: &mut Chunk) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `create_chunk` [INFO] [stderr] [INFO] [stderr] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stderr] --> src/chunk.rs:52:25 [INFO] [stderr] | [INFO] [stderr] 52 | c.code = Vec::new().as_mut_ptr() [INFO] [stderr] | ---------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stderr] | | [INFO] [stderr] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see [INFO] [stderr] [INFO] [stderr] warning: function `WriteToChunk` should have a snake case name [INFO] [stderr] --> src/chunk.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn WriteToChunk( byte: u8, line: i128, c: &mut Chunk) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_chunk` [INFO] [stderr] [INFO] [stderr] warning: variable `oldCapacity` should have a snake case name [INFO] [stderr] --> src/chunk.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | let oldCapacity = c.capacity; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `old_capacity` [INFO] [stderr] [INFO] [stderr] warning: function `freeChunk` should have a snake case name [INFO] [stderr] --> src/chunk.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn freeChunk(c: &mut Chunk) { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `free_chunk` [INFO] [stderr] [INFO] [stderr] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stderr] --> src/chunk.rs:72:26 [INFO] [stderr] | [INFO] [stderr] 72 | c.lines = Vec::new().as_mut_ptr(); [INFO] [stderr] | ---------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stderr] | | [INFO] [stderr] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see [INFO] [stderr] [INFO] [stderr] warning: function `addConstant` should have a snake case name [INFO] [stderr] --> src/chunk.rs:77:8 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn addConstant(c: &mut Chunk, value: Value) -> u128 { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `add_constant` [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name [INFO] [stderr] --> src/memory.rs:14:19 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stderr] | ^ help: convert the identifier to snake case: `t` [INFO] [stderr] [INFO] [stderr] warning: variable `oldSize` should have a snake case name [INFO] [stderr] --> src/memory.rs:14:50 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `old_size` [INFO] [stderr] [INFO] [stderr] warning: variable `newSize` should have a snake case name [INFO] [stderr] --> src/memory.rs:14:65 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn grow_array(T: &str, pointer: *mut c_void, oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `new_size` [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name [INFO] [stderr] --> src/memory.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stderr] | ^ help: convert the identifier to snake case: `t` [INFO] [stderr] [INFO] [stderr] warning: variable `oldSize` should have a snake case name [INFO] [stderr] --> src/memory.rs:24:28 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn free_array(T: &str, oldSize: u128, pointer: *mut c_void) { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `old_size` [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name [INFO] [stderr] --> src/memory.rs:29:15 [INFO] [stderr] | [INFO] [stderr] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stderr] | ^ help: convert the identifier to snake case: `t` [INFO] [stderr] [INFO] [stderr] warning: variable `_oldSize` should have a snake case name [INFO] [stderr] --> src/memory.rs:29:46 [INFO] [stderr] | [INFO] [stderr] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `_old_size` [INFO] [stderr] [INFO] [stderr] warning: variable `newSize` should have a snake case name [INFO] [stderr] --> src/memory.rs:29:62 [INFO] [stderr] | [INFO] [stderr] 29 | fn reallocate(T: &str, pointer: *mut c_void, _oldSize: u128, newSize: u128) -> *mut c_void { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `new_size` [INFO] [stderr] [INFO] [stderr] warning: function `disassembleChunk` should have a snake case name [INFO] [stderr] --> src/debug.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn disassembleChunk(c: &mut Chunk, name: &str){ //changing &str to String will make c.code point to the first value of the string. NE... [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `disassemble_chunk` [INFO] [stderr] [INFO] [stderr] warning: function `disassembleInstruction` should have a snake case name [INFO] [stderr] --> src/debug.rs:16:4 [INFO] [stderr] | [INFO] [stderr] 16 | fn disassembleInstruction(c: &Chunk, offset: u128) -> u128{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `disassemble_instruction` [INFO] [stderr] [INFO] [stderr] warning: function `simpleInstruction` should have a snake case name [INFO] [stderr] --> src/debug.rs:41:4 [INFO] [stderr] | [INFO] [stderr] 41 | fn simpleInstruction(name: &str, offset: u128) -> u128 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `simple_instruction` [INFO] [stderr] [INFO] [stderr] warning: function `constantInstruction` should have a snake case name [INFO] [stderr] --> src/debug.rs:46:4 [INFO] [stderr] | [INFO] [stderr] 46 | fn constantInstruction(name: &str, offset: u128, c: &Chunk) -> u128 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `constant_instruction` [INFO] [stderr] [INFO] [stderr] warning: method `getCount` should have a snake case name [INFO] [stderr] --> src/value.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn getCount(&self) -> u128 { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `get_count` [INFO] [stderr] [INFO] [stderr] warning: method `getValue` should have a snake case name [INFO] [stderr] --> src/value.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn getValue(&self, index: usize) -> Value { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `get_value` [INFO] [stderr] [INFO] [stderr] warning: a dangling pointer will be produced because the temporary `Vec` will be dropped [INFO] [stderr] --> src/value.rs:26:43 [INFO] [stderr] | [INFO] [stderr] 26 | values: Vec::with_capacity(2).as_mut_ptr(), //Using Vac::new here is not suggested, as we need to allocate first then reallocate [INFO] [stderr] | --------------------- ^^^^^^^^^^ this pointer will immediately be invalid [INFO] [stderr] | | [INFO] [stderr] | this `Vec` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_mut_ptr` the `Vec` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see [INFO] [stderr] [INFO] [stderr] warning: function `WriteValueArray` should have a snake case name [INFO] [stderr] --> src/value.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn WriteValueArray(v: &mut ValueArray, val: Value) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_value_array` [INFO] [stderr] [INFO] [stderr] warning: variable `oldCapacity` should have a snake case name [INFO] [stderr] --> src/value.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | let oldCapacity = v.capacity; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `old_capacity` [INFO] [stderr] [INFO] [stderr] warning: function `printValue` should have a snake case name [INFO] [stderr] --> src/value.rs:52:8 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn printValue(val: Value) { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `print_value` [INFO] [stderr] [INFO] [stderr] warning: `Rlox` (bin "Rlox" test) generated 44 warnings (run `cargo fix --bin "Rlox" --tests` to apply 9 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/Rlox-fee0028b93c355b3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "04e7f6bfc5a3241c29fa34d9f110dbf8b0e51c82e66ec598c0fc4ee187c0e8b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04e7f6bfc5a3241c29fa34d9f110dbf8b0e51c82e66ec598c0fc4ee187c0e8b5", kill_on_drop: false }` [INFO] [stdout] 04e7f6bfc5a3241c29fa34d9f110dbf8b0e51c82e66ec598c0fc4ee187c0e8b5