[GSoC] Rust: Compiling the alloc crate - Status Report 5
Enes Cevik via Gcc <[email protected]> Mon, 03 Aug 2026 17:14:32 +0300
| Newsgroups | gmane.comp.gcc.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi! This is the fifth report on compiling the alloc crate with GCCRS. This week I set out to: - Implement the 4 missing lang items mentioned in the previous report. - Continue investigating using the mock core as an extern crate. - Implement the 'coerce_unsized' infrastructure. Over the week: - I added the 4 mentioned lang items to the compiler. The implementations for 'range_inclusive_new' and 'unsafe_cell' have been merged. 'pin' and 'unpin' are currently waiting to be merged. - I reported several bugs encountered during the alloc crate compilation to the Rust-GCC/gccrs issue tracker. Since these issues need to be resolved, I have added some to my own to-do list to fix, and shared the rest with the core team. - I implemented the coercion infrastructure. With this patch, GCCRS will now support unsized ADT types and their coercions. Additionally, array-to-slice coercions are now functional thanks to this patch. Because this is a large and complex patch, the review and stabilization process may take a long time, which is expected. Current status: - Due to major problems in the trait solver, we cannot fully compile the mock core. As a result, we cannot advance the compilation phase for the alloc testsuite. Therefore, keeping alloc synchronized with the core testsuite seems to be the most logical approach right now. - Aside from that, my current focus is to clean up and resolve the issues reported for alloc. Some of these issues are major blockers preventing the compilation of alloc. Others aim to minimize the local modifications I have had to make to the alloc source code in order to compile it. - Now that we have unsized ADT support, the next step is for 'owned_box' to support DSTs. Best regards, Enes