Releases
v0.12.0
New Features
Indexed and ranged fields for array compound literals:
[?]int {0 = 123, 5..9 = 54, 10..<16 = 72}
Constant compound literals declarations
FOO :: [5]int{1, 2, 3, 4, 5};
#partial switch
Implement the previous #complete switch
as the default behaviour
Enumerated Arrays:
[Enum_Type]Value
#partial [Enum_Type]Value
SOA Arrays, Slices, and Dynamic Arrays
#soa[N]T
#soa[]T
#soa[dynamic]T
New #simd
type syntax
Add @(private="file")
and @(private="package")
Make string
type elements immutable, akin to char const *
in C
Allow #no_bounds_check
on an expression
Deprecate using import
Full System V ABI support
Remove requirement for vcvarsall.bat for Windows. Windows SDK and Binaries are found automatically
Add -help
which prints information about the compiler flags
Add x y z w
fields to quaternion types
Add r g b a
fields to array types len(array) <= 4
alongside x y z w
fields
Library Improvements
Improve package math
Add package math/linalg
Improve runtime/default_allocators.odin
Make default context.temp_allocator
thread safe
Add strings.unsafe_string_to_cstring
Add strings.ptr_from_string
Support package thread
on unix
Bug Fixes
Fix string reversal
Fix linux build
Fix System V bitcast/transmute bug
Fix os.write on darwin
Fix transmute of uintptr
to/from proc
Fix fmt.string_to_enum_value
Fix mem.Arena
Fix using on array in struct
Fix -no-crt on Windows
Fix loadsatypos
You can’t perform that action at this time.