I mean what it would be nice to have no forced leaks also when using the -manualfree command line option.
However, I just checked, and the 0.3 release does leak even without -manualfree!
lxc launch images:debian/bullseye test-v
lxc exec test-v bash
# Inside the container:
apt install build-essential git valgrind
git clone https://github.com/vlang/v
cd v
git rev-parse HEAD
# 74bb5ae17a4a0af8dda913ddb1ca9d8d4a590136
make
# ...
# Your `tcc` is working. Good - it is much faster at compiling C source code.
# V has been successfully built
# V 0.3.0 74bb5ae
./v examples/hello_world.v
valgrind --leak-check=yes examples/hello_world
# ... report about invalid read of size 1.
# ... reports about uninitialized values.
# ==5750== LEAK SUMMARY:
# ==5750== definitely lost: 0 bytes in 0 blocks
# ==5750== indirectly lost: 0 bytes in 0 blocks
# ==5750== possibly lost: 1,360 bytes in 5 blocks
# ==5750== still reachable: 0 bytes in 0 blocks
# ==5750== suppressed: 0 bytes in 0 blocks
# ...
# ==5750== ERROR SUMMARY: 144 errors from 17 contexts (suppressed: 0 from 0)
apt install wget unzip
rm v -r
wget https://github.com/vlang/v/releases/download/0.3/v_linux.zip
sha1sum v_linux.zip
# bb6f81630fe2ae4e7e283360f507be99f88f32bd v_linux.zip
unzip v_linux.zip
cd v
./v examples/hello_world.v
valgrind --leak-check=yes examples/hello_world
# Exact same result as above, just a different PID of course.
However, I just checked, and the 0.3 release does leak even without -manualfree!
I checked also with the 0.3 release: https://github.com/vlang/v/releases/tag/0.3 Am I missing something?