Changes / improvements
- Increase precedence of
(Foo) { 1, 2 } - Add
--enable-new-genericsto enableFoo{int}generic syntax. {| |}expression blocks deprecated.- c3c
--test-leak-reportflag for displaying full memory lead report if any - Output into /.build/obj/ by default.
- Output llvm/asm into llvm/ and asm/ by default.
- Add flag
--suppress-run. For commands which may run executable after building, skip the run step. #1931 - Add
--build-envfor build environment information. - Deprecation of
@operator(construct).
Fixes
- Bug appearing when
??was combined with boolean in some cases. - Test runner --test-disable-sort didn't work, c3c was expecting --test-nosort
- Test runner with tracking allocator assertion at failed test #1963
- Test runner with tracking allocator didn't properly handle teardown_fn
- Correctly give an error if a character literal contains a line break.
- Implicitly unwrapped optional value in defer incorrectly copied #1982.
- Crash when trying to define a method macro that isn't
@constructbut has no arguments. - Regression,
.gitkeepfiles were generated incorrectly. - Aliases are now correctly handled as if they were variables/functions in regards to namespacing and accept
@builtin. - Correctly handle in/out when interacting with inout.
- Don't delete .o files not produced by the compiler.
- Fix optional jumps in expression lists, #1942.
- Several fixes for .o files and -o output, improving handling and naming.
- Fix bug casting bool to int to other int #1995.
@ifdeclarations were missing from -P output #1973.- Check exe and lib output so -o works with directories.
- Swizzling an inline vector in a struct would cause a crash.
- Fixed error and poor error message when using an invalid target name.