C3 0.8.3 Feature flags
C3 version 0.8.3 has been released, featuring a new @feat attribute for top-level conditional compilation, replacing the older @if usage. This attribute allows for more granular support and IDE functionality, while eliminating ordering issues that plagued the previous @if method. With built-in feature flags for various systems like WIN32, LINUX, and BIG_ENDIAN, @feat provides a more reliable way to conditionally compile code.
The $feature function has been renamed to $feat, which will be deprecated in version 0.9.0. The release also includes experimental aliases for older def keywords, MacOS SDK fetching, Aarch64 support for Windows targets, regex support, and JSON/object unmarshaling. Geometry code now has a slightly changed Rect.contains_point behavior, and new Bounds and LinkedList/Deque features have been added.
Additionally, the tracking allocator can now track cross-thread allocation, and several compiler crashes have been resolved. The doc generation has been improved, with better handling of attrdef declarations, alias docs, @return contracts, and empty JSON fields. The C3 community is thanked for their contributions, and developers are encouraged to try out the new features and provide feedback.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.