# Kangrejos 2023 status report ## Upstreaming in GCC 13.1 - The compiler was not released since it was still missing some basic features - We spent a lot of time sending in patches and getting them approved, and gccrs is now a full part of GCC - This makes our work much easier for the planned first release of gccrs within GCC, which should happen with GCC 14.1 ## Technical side of things - Macro name resolution - Fixes to macro expansion to properly handle eager expansion of builtin macros - Fixed point expansion and name resolution algorithm - Implementation of derive macros framework, support for Clone and Copy - Closures support - Iterators support - Binding associated types (`core::ops::Add<Output = i32>>`) - Procedural macros are almost completely implemented - Unicode support - Support for `Fn` traits - Integration of rustc error codes within the compiler - This will help us pass the rustc testsuite when the time comes - Compiler intrinsics - Complete rework of our name resolution pass - Jakub Dupak's master thesis is about integrating polonius to gccrs, in order to have access to a borrow checker ## Upcoming work - Mostly upstreaming work... which takes a very long time - Support for `format_args!()` builtin macro - Kernel print macros, `println!()` in `core`... ## Upstreaming in GCC 14.1 - Patch upstreaming has started again - Sending in commits which affect common GCC parts (such as the build system) - Once these are accepted, we will begin upstreaming all of the work we did since ~April 2023, which is around 900 commits - We are hoping to be released as part of GCC 14.1 ## Talks - FOSDEM - GNU Cauldron (22/09/2023) - EuroRust (13/10/2023)