Hi everyone,

Here is our monthly report for the month of October. I realize I forgot to send the September one on this ML - apologies. It's available on our website here if anyone would like to read it.

https://rust-gcc.github.io/2025/10/06/2025-09-monthly-report.html

I hope the milestone tables render properly - otherwise, please let me know and I will attempt to fix it for next month.

Overview



Thanks again to Open Source Security, inc and Embecosm for their ongoing

support for this project.



Project update



We have started experimenting with compiling Rust-for-Linux, as planned

in our last monthly reports, and we are happy to report very few issues

apart from the ones related to requiring a functional core crate. We

then created a new Rust-for-Linux milestone to gather all the missing

functionality required for compiling the Rust parts of the kernel, and

are still collecting issues.



Work on this will continue in parallel with the last few reminaing

bugfixes for core. However, due to other Embecosm projects,

Pierre-Emmanuel and Arthur did not have enough time in November to

complete these few remaining bugs.



In other news, our two french interns are progressing really fast and

will soon beging contributing to complete milestones for certain

unhandled features required for Rust-for-Linux and further existing Rust

code. They are very proficient and greatly help the team with the issues

they tackle. For now, they are focusing on non-critical parts of the

pipeline such as emitting warnings in certain conditions and fixing

Internal Compiler Errors.



We have ironed out our upstreaming processes and now rebase gccrs on top

of trunk regularly. Similarly, it is really easy for us to update trunk

with our latest gccrs changes, which we are currently sending upstream

once a week. This caused a few pain points when bootstrapping due to

existing issues in the C++ frontend, but they are now resolved.



Thanks to the work from Marc Poulhies, our CI now sends emails to the

GCC Patches mailing list for each commit merged in our development

repository on github. This makes it easy for GCC hackers to interact

with our Rust frontend and review patches as they come in. We have been

testing the system for a month now, and Marc has ironed out the kinks,

meaning it will be deployed on the 10th of November after a message

explaining the steps on the GCC mailing lists.



Community call



We will have our next monthly community call on the 17th of November at

10am UTC. You can subscribe to our calendar to see when the next one

will be held. The call is open to everyone, even if you would just like

to sit-in and listen. You can also subscribe to our mailing-list or join

our Zulip chat to be notified of upcoming events.



-   Jitsi link

-   Calendar ID:

7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f...@group.calendar.google.com

-   Google calendar link

-   iCal link



Call for contribution



-   https://github.com/Rust-GCC/gccrs/issues/2500



-   https://github.com/Rust-GCC/gccrs/issues/2376



Completed Activities



-   gccrs: Fix segv in errors in type checking an impl item PR4274

-   gccrs: Support generic constant impl items PR4273

-   gccrs: Fix const generics handling on array types PR4272

-   gccrs: fix error multiple cfg predicates PR4268

-   gccrs: fix cfg attribute error with literal predicate PR4266

-   gccrs: fix segfault with empty cfg attribute PR4263

-   gccrs: Add support for binding const generic values to paths PR4253

-   Sync with upstream (2025-10-31):

    468f8a3df1cd9e63b38cd4855926e9507b916fd0 PR4251

-   gccrs: Fix ICE with non-trailing const defaults PR4250

-   Sync with upstream (2025-10-27):

    9e10fc177be25e5430e72a5c55ce7a36c45562c3 PR4248

-   gccrs: Add minus sign compilation for LiteralPattern PR4247

-   gccrs: Fix negative bounds in `RangePattern` being handled

    incorrectly PR4243

-   gccrs: Fix ICE on enum in tuple struct pattern PR4241

-   Update tuple pattern type-check to attempt to continue resolving

    items after size error PR4239

-   Fix ICE for repr attribute malformation PR4238

-   gccrs: make invalid inner attributes show error PR4237

-   ci: stop using pull_(request) event, use push PR4224

-   gccrs: fix inner attr derive doesn't show error PR4218

-   gccrs: fix segfault on exported macro PR4215

-   Bump clang-format version to use in CONTRIBUTING.md PR4208

-   gccrs: fix ICE on missing pattern in while loop PR4207

-   gccrs: fix ICE in TyVar constructor PR4206

-   gccrs: Emit error when tuple-indexing on non-tuples PR4205

-   ci: refactor conditional parts PR4202

-   gccrs: Refactor TyTy::ConstType into separate types PR4199

-   fix: early return for module file error in AST parsing PR4151

-   Improve macro expansion for `libcore` PR4053



Contributors this month



-   Lucas Ly Ba (new contributor!)

-   Lenny Chiadmi-Delage (new contributor!)

-   LowR (new contributor!)

-   Lishin (new contributor!)

-   elle

-   Vishruth Thimmaiah

-   Zhi Heng

-   Marc Poulhiès

-   Owen Avery

-   Pierre-Emmanuel Patry

-   Philip Herron

-   Arthur Cohen



Overall Task Status



  Category      Last Month   This Month   Delta

  ------------- ------------ ------------ -------

  TODO          406          418          +12

  In Progress   115          115          -

  Completed     1154         1177         +23



Bugs



  Category      Last Month   This Month   Delta

  ------------- ------------ ------------ -------

  TODO          207          197          -10

  In Progress   55           55           -

  Completed     572          586          +14



Test Cases



  TestCases   Last Month   This Month   Delta

  ----------- ------------ ------------ -------

  Passing     10304        10458        +154

  Failed      -            -            -

  XFAIL       72           74           +2

  XPASS       -            -            -



Milestones Progress



Milestone Last Month This Month Delta Start Date Completion Date Target Target GCC

---------------- ------------ ------------ ------- -------------- ----------------- -------- ------------

Rust-for-Linux 0% 0% - 1st Nov 2025 - - GCC 16.1



Upcoming Milestone Last Month This Month Delta Start Date Completion Date Target Target GCC

------------------------------- ------------ ------------ ------- --------------- ----------------- --------------- ------------

Unstable RfL features 0% 0% - 7th Jan 2025 - 1st Aug 2025 GCC 16.1

Generic Associated Types 0% 0% - 15th Mar 2025 - 15th Jun 2025 GCC 16.1

RfL const generics 0% 0% - 1st May 2025 - 15th Jun 2025 GCC 16.1

frontend plugin hooks 0% 0% - 15th May 2025 - 7th Jul 2025 GCC 16.1

Handling the testsuite issues 0% 0% - 15th Sep 2024 - 15th Sep 2025 GCC 16.1

main shim 0% 0% - 28th Jul 2025 - 15th Sep 2025 GCC 16.1

Final core attributes 0% 0% - - GCC 16.1

Core nightly features 0% 0% - - GCC 16.1

Defered inference 0% 0% - - GCC 16.1

Fn traits fixes 0% 0% - - GCC 16.1

Recursive types 0% 0% - - GCC 16.1

Drop 0% 0% - - GCC 16.1

Pin, PinInit 0% 0% - - GCC 16.1



Past Milestone Last Month This Month Delta Start Date Completion Date Target Target GCC

----------------------------------- ------------ ------------ ------- --------------- ----------------- --------------- ------------

Data Structures 1 - Core 100% 100% - 30th Nov 2020 27th Jan 2021 29th Jan 2021 GCC 14.1

Control Flow 1 - Core 100% 100% - 28th Jan 2021 10th Feb 2021 26th Feb 2021 GCC 14.1

Data Structures 2 - Generics 100% 100% - 11th Feb 2021 14th May 2021 28th May 2021 GCC 14.1

Data Structures 3 - Traits 100% 100% - 20th May 2021 17th Sep 2021 27th Aug 2021 GCC 14.1

Control Flow 2 - Pattern Matching 100% 100% - 20th Sep 2021 9th Dec 2021 29th Nov 2021 GCC 14.1

Macros and cfg expansion 100% 100% - 1st Dec 2021 31st Mar 2022 28th Mar 2022 GCC 14.1

Imports and Visibility 100% 100% - 29th Mar 2022 13th Jul 2022 27th May 2022 GCC 14.1

Const Generics 100% 100% - 30th May 2022 10th Oct 2022 17th Oct 2022 GCC 14.1

Initial upstream patches 100% 100% - 10th Oct 2022 13th Nov 2022 13th Nov 2022 GCC 14.1

Upstream initial patchset 100% 100% - 13th Nov 2022 13th Dec 2022 19th Dec 2022 GCC 14.1

Update GCC's master branch 100% 100% - 1st Jan 2023 21st Feb 2023 3rd Mar 2023 GCC 14.1

Final set of upstream patches 100% 100% - 16th Nov 2022 1st May 2023 30th Apr 2023 GCC 14.1

Borrow Checking 1 100% 100% - TBD 8th Jan 2024 15th Aug 2023 GCC 14.1

Procedural Macros 1 100% 100% - 13th Apr 2023 6th Aug 2023 6th Aug 2023 GCC 14.1

GCC 13.2 Release 100% 100% - 13th Apr 2023 22nd Jul 2023 15th Jul 2023 GCC 14.1

GCC 14 Stage 3 100% 100% - 1st Sep 2023 20th Sep 2023 1st Nov 2023 GCC 14.1

GCC 14.1 Release 100% 100% - 2nd Jan 2024 2nd Jun 2024 15th Apr 2024 GCC 14.1

format_(args)!() support 100% 100% - 15th Feb 2024 - 1st Apr 2024 GCC 14.1

GCC 14.2 100% 100% - 7th Jun 2024 15th Jun 2024 15th Jun 2024 GCC 14.2

GCC 15.1 100% 100% - 21st Jun 2024 31st Jun 2024 1st Jul 2024 GCC 15.1

Unhandled attributes 100% 100% - 1st Jul 2024 15th Aug 2024 15th Aug 2024 GCC 15.1

Inline assembly 100% 100% - 1st Jun 2024 26th Aug 2024 15th Sep 2024 GCC 15.1

Rustc Testsuite Adaptor 100% 100% - 1st Jun 2024 26th Aug 2024 15th Sep 2024 GCC 15.1

Borrow checker improvements 100% 100% - 1st Jun 2024 26th Aug 2024 15th Sep 2024 GCC 15.1

Deref and DerefMut improvements 100% 100% - 28th Sep 2024 25th Oct 2024 28th Dec 2024 GCC 15.1

Indexing fixes 100% 100% - 21st Jul 2024 25th Dec 2024 15th Nov 2024 GCC 15.1

Iterator fixes 100% 100% - 21st Jul 2024 25th Dec 2024 15th Nov 2024 GCC 15.1

Auto traits improvements 100% 100% - 15th Sep 2024 20th Jan 2025 21st Dec 2024 GCC 15.1

Lang items 100% 100% - 1st Jul 2024 10th Jan 2025 21st Nov 2024 GCC 15.1

alloc parser issues 100% 100% - 7th Jan 2025 31st Jun 2024 28th Jan 2025 GCC 15.1

std parser issues 100% 100% - 7th Jan 2025 31st Jun 2024 28th Jan 2025 GCC 16.1

Question mark operator 100% 100% - 15th Dec 2024 21st Feb 2025 21st Feb 2025 GCC 15.1

Name resolution 2.0 rework 100% 100% - 1st Jun 2024 - 1st Apr 2025 GCC 15.1

Macro expansion 100% 100% - 1st Jun 2024 - 1st Jan 2025 GCC 15.1

Remaining typecheck issues 100% 100% - 21st Oct 2024 - 1st Mar 2025 GCC 15.1

cfg-core 100% 100% - 1st Dec 2024 24th Mar 2025 1st Mar 2025 GCC 15.1

Codegen fixes 100% 100% - 7th Oct 2024 1st Apr 2025 1st Mar 2025 GCC 15.1

black_(box) intrinsic 100% 100% - 28th Oct 2024 - 28th Jan 2025 GCC 15.1

let-else 100% 100% - 28th Jan 2025 - 28th Feb 2025 GCC 15.1

Specialization 100% 100% - 1st Jan 2025 1st Apr 2025 1st Mar 2025 GCC 15.1

cfg-rfl 100% 100% - 7th Jan 2025 19th Mar 2025 15th Feb 2025 GCC 15.1

Downgrade to Rust 1.49 100% 100% - 14th Mar 2025 26th Mar 2025 1st Apr 2025 GCC 15.1

try blocks 100% 100% - 30th Jul 2025 GCC 16.1

while-let loops 100% 100% - 30th Jul 2025 GCC 16.1

offset_(of)!() builtin macro 100% 100% - 15th Mar 2025 4th Aug 2025 15th Aug 2025 GCC 16.1

Explicit generics with impl Trait 100% 100% - 28th Feb 2025 21st Jul 2025 28th Mar 2025 GCC 16.1

Final Inline assembly fixes 100% 100% - - GCC 16.1



Planned Activities



-   Finish debugging core

-   Continue collecting issues for Rust-for-Linux milestones

-   Work on RfL issues



Attachment: OpenPGP_0x1B3465B044AD9C65.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to