The development of gccrs has included reusing components and crates from the official Rust compiler to ensure the same behavior during critical compiler passes. One key component added to gccrs is rustc_parse_format, which parses Rust format strings for string formatting and inline assembly. By integrating these components, gccrs can properly call into core::fmt functions for runtime code generation. Reusing these components allows gccrs to align with the advanced features of rustc, such as the next generation borrow-checker polonius. Although some components can be integrated between the two compilers, certain structural differences, like block expressions, prevent full interchangeability. The goal is to handle borrow-checking and other complex compiler passes with the same accuracy and precision as rustc.
https://rust-gcc.github.io/2024/09/20/reusing-rustc-components.html