C3, lenguaje de programación de sistemas derivado de C, ha publicado la versión 0.8.3, cuya novedad principal es el atributo @feat, destinado a sustituir al antiguo @if en las declaraciones de nivel superior. Hasta ahora, @if aceptaba cualquier expresión constante en tiempo de compilación, lo que obligaba al compilador a forzar el análisis de símbolos en un orden no determinista y producía errores sutiles. Tras estudiar los usos reales de @if, los autores concluyeron que la mayoría se reducían a tres patrones: incluir código según la plataforma objetivo, definir implementaciones por defecto o condicionar funcionalidad a tipos genéricos. De ellos, los dos primeros pueden resolverse con @feat, ya que el compilador incorpora ahora indicadores integrados como WIN32, LINUX o BIG_ENDIAN, conocidos antes de registrar las declaraciones. Esto permite filtrar los símbolos de forma temprana y beneficia tanto al propio compilador como a LSP y editores con funciones de ir a definición. @feat admite múltiples condiciones combinables con operadores lógicos. Paralelamente, la función $feature pasa a llamarse $feat y se anuncia como obsoleta hasta su eliminación en 0.9.0. La versión incorpora además alias experimentales para la familia de palabras clave terminadas en def, descarga automática del SDK de macOS para compilaciones cruzadas, soporte de Windows sobre Aarch64, una API experimental de expresiones regulares en la biblioteca estándar y funciones como json::unmarshal, Bounds, range::upto o prepend en LinkedList y Deque, junto con correcciones en genéricos, ABI RISC-V, AES CTR, JSON, io y generación de documentación.
