Version 0.8.2
Pre-release
Pre-release
0.8.2 Change list
Changes / improvements
@weaknow works with all declarations.- Add
@alignfor asm blocks to stack align them. Stack alignment is no longer default. - Allow setting Windows subsystem directly.
- Add
bitoffsetandbitsizereflection properties to bitstruct members. #3219 - Add
is_anonymousandis_nestedto struct/union/bitstruct types and to members. #3223 - Improve error message on trying to cast char array to String. #3343
- Add
Foo::is_generic(...),Foo::generic_qnameandFoo::generic_args. #2909 #3329 - Add
own,initanddropparameter annotations. constdefcan now be generic.- Libraries can now expose reusable target configurations via a
templatesmap in their manifest, which projects reference from a target usingtemplate: "library/template". Properties from the template are loaded first and can be overridden by target-local settings.
Stdlib changes
Atomic.compare_exchangeadded.- Added
array::contains_sliceandarray::index_of_slice. String.index_ofandrindex_ofwill now accept finding empty strings.- Add log::register_dynamic_category, for libraries that wish to define their own categories dynamically.
Fixes
$stringifywould sometimes include parens.- Regression when destroying a BackedArenaAllocator in some cases #3332.
"a::b:c:d:e:f:0"was not parsed as a valid ipv6 string.constdefvector with alias incorrectly lowered #3335.- Compiler asserts on concatenating a struct to an untypedlist #3326.
untypedlistwas not detected as invalid in enum associated value type or as a pointer #3342.- Regression using non-posix libc.
- Crash with an optional struct recursively defined with a function type. #3358
- Denormal results were not handle correctly by
String.to_double(). - A float literal with an uppercase 'F' suffix would be a
doubleinstead of afloat. - Json serialization would not correctly handle unicode and
\v. #3353 - Semantic checking was incorrect in the case of
&a - &bwhere one or both are optional and the result isn't assigned. - Regression on MacOS, breaking stack trace.