New Language Features
#soapointer type to ad with refactory to#soadata types- e.g.
#soa ^#soa[]T
- e.g.
New Compiler Features
- Make
unreachable()a built-in compiler-level procedure - Allow for
foo() or_else unreachable()or other diverging procedures
Compiler Improvements
#loadcan now optionally import the loaded file data as a different type than[]u8#load(path)#load(path, []T)(whereTis a type that can be trivially loaded from memory (i.e. no pointers))#load(path, string)(shorthand forstring(#load(path)))
- Deprecate
#load_or(path, default)in favour of#load(path) or_else default - Allow chaining of
#load(path1) or_else #load(path2) - Pass size information to allocator to
delete, when possible, to improve tracking information - Improved detection of rc.exe
- Improvements to debug symbols for range intervals
- Fix Objective-C related
x->y()calls in Odin - Prepare for future LLVM versions
- Various bugfixes
New Packages
vendor:commonmark- Markdown Variant: https://commonmark.org/
Package Improvements
core:image/tgacan now load as well- Add
math.divmodandmath.floor_divmod - Pretty marshal output for
core:encoding/json - Add ID3D11Debug to
vendor:directx/d3d11package - Add wgl, raw input, and additional Windows imports
- Add more
core:container/queuehelpers andpeek_frontandpeek_back - Add
reflect.get_union_variant - Add
slice.sort_with_indicesfamily of procedures - Improvements to
sync.Futexsupport on windows - Add
core:sys/valgrindpackage for valgrind, memcheck, and callgrind - Various bugfixes