|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "October 2025 Monthly report" |
| 4 | +author: Philip Herron, Pierre-Emmanuel Patry and Arthur Cohen |
| 5 | +tags: |
| 6 | + - monthly-report |
| 7 | +--- |
| 8 | + |
| 9 | +## Overview |
| 10 | + |
| 11 | +Thanks again to [Open Source Security, inc](https://opensrcsec.com/) and |
| 12 | +[Embecosm](https://www.embecosm.com/) for their ongoing support for this |
| 13 | +project. |
| 14 | + |
| 15 | +### Project update |
| 16 | + |
| 17 | +We have started experimenting with compiling Rust-for-Linux, as planned |
| 18 | +in our last monthly reports, and we are happy to report very few issues |
| 19 | +apart from the ones related to requiring a functional `core` crate. We |
| 20 | +then created a new Rust-for-Linux milestone to gather all the missing |
| 21 | +functionality required for compiling the Rust parts of the kernel, and |
| 22 | +are still collecting issues. |
| 23 | + |
| 24 | +Work on this will continue in parallel with the last few reminaing |
| 25 | +bugfixes for `core`. However, due to other Embecosm projects, |
| 26 | +Pierre-Emmanuel and Arthur did not have enough time in November to |
| 27 | +complete these few remaining bugs. |
| 28 | + |
| 29 | +In other news, our two french interns are progressing really fast and |
| 30 | +will soon beging contributing to complete milestones for certain |
| 31 | +unhandled features required for Rust-for-Linux and further existing Rust |
| 32 | +code. They are very proficient and greatly help the team with the issues |
| 33 | +they tackle. For now, they are focusing on non-critical parts of the |
| 34 | +pipeline such as emitting warnings in certain conditions and fixing |
| 35 | +Internal Compiler Errors. |
| 36 | + |
| 37 | +We have ironed out our upstreaming processes and now rebase gccrs on top |
| 38 | +of trunk regularly. Similarly, it is really easy for us to update trunk |
| 39 | +with our latest gccrs changes, which we are currently sending upstream |
| 40 | +once a week. This caused a few pain points when bootstrapping due to |
| 41 | +existing issues in the C++ frontend, but they are now resolved. |
| 42 | + |
| 43 | +Thanks to the work from Marc Poulhies, our CI now sends emails to the |
| 44 | +GCC Patches mailing list for each commit merged in our development |
| 45 | +repository on github. This makes it easy for GCC hackers to interact |
| 46 | +with our Rust frontend and review patches as they come in. We have been |
| 47 | +testing the system for a month now, and Marc has ironed out the kinks, |
| 48 | +meaning it will be deployed on the 10th of November after a message |
| 49 | +explaining the steps on the GCC mailing lists. |
| 50 | + |
| 51 | +### Community call |
| 52 | + |
| 53 | +We will have our next monthly community call on the 17th of November at |
| 54 | +10am UTC. You can subscribe to our calendar to see when the next one |
| 55 | +will be held. The call is open to everyone, even if you would just like |
| 56 | +to sit-in and listen. You can also subscribe to our |
| 57 | +[mailing-list](https://gcc.gnu.org/mailman/listinfo/gcc-rust) or join |
| 58 | +our [Zulip chat](https://gcc-rust.zulipchat.com) to be notified of |
| 59 | +upcoming events. |
| 60 | + |
| 61 | +- [Jitsi link](https://meet.jit.si/gccrs-community-call-november) |
| 62 | +- Calendar ID: |
| 63 | + 7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894@group.calendar.google.com |
| 64 | +- [Google calendar |
| 65 | + link](https://calendar.google.com/calendar/embed?src=7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894%40group.calendar.google.com) |
| 66 | +- [iCal |
| 67 | + link](https://calendar.google.com/calendar/ical/7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894%40group.calendar.google.com/public/basic.ics) |
| 68 | + |
| 69 | +## Call for contribution |
| 70 | + |
| 71 | +- <https://github.com/Rust-GCC/gccrs/issues/2500> |
| 72 | + |
| 73 | +- <https://github.com/Rust-GCC/gccrs/issues/2376> |
| 74 | + |
| 75 | +## Completed Activities |
| 76 | + |
| 77 | +- gccrs: Fix segv in errors in type checking an impl item |
| 78 | + [PR4274](https://github.com/rust-gcc/gccrs/pull/4274) |
| 79 | +- gccrs: Support generic constant impl items |
| 80 | + [PR4273](https://github.com/rust-gcc/gccrs/pull/4273) |
| 81 | +- gccrs: Fix const generics handling on array types |
| 82 | + [PR4272](https://github.com/rust-gcc/gccrs/pull/4272) |
| 83 | +- gccrs: fix error multiple cfg predicates |
| 84 | + [PR4268](https://github.com/rust-gcc/gccrs/pull/4268) |
| 85 | +- gccrs: fix cfg attribute error with literal predicate |
| 86 | + [PR4266](https://github.com/rust-gcc/gccrs/pull/4266) |
| 87 | +- gccrs: fix segfault with empty cfg attribute |
| 88 | + [PR4263](https://github.com/rust-gcc/gccrs/pull/4263) |
| 89 | +- gccrs: Add support for binding const generic values to paths |
| 90 | + [PR4253](https://github.com/rust-gcc/gccrs/pull/4253) |
| 91 | +- Sync with upstream (2025-10-31): |
| 92 | + 468f8a3df1cd9e63b38cd4855926e9507b916fd0 |
| 93 | + [PR4251](https://github.com/rust-gcc/gccrs/pull/4251) |
| 94 | +- gccrs: Fix ICE with non-trailing const defaults |
| 95 | + [PR4250](https://github.com/rust-gcc/gccrs/pull/4250) |
| 96 | +- Sync with upstream (2025-10-27): |
| 97 | + 9e10fc177be25e5430e72a5c55ce7a36c45562c3 |
| 98 | + [PR4248](https://github.com/rust-gcc/gccrs/pull/4248) |
| 99 | +- gccrs: Add minus sign compilation for LiteralPattern |
| 100 | + [PR4247](https://github.com/rust-gcc/gccrs/pull/4247) |
| 101 | +- gccrs: Fix negative bounds in \`RangePattern\` being handled |
| 102 | + incorrectly [PR4243](https://github.com/rust-gcc/gccrs/pull/4243) |
| 103 | +- gccrs: Fix ICE on enum in tuple struct pattern |
| 104 | + [PR4241](https://github.com/rust-gcc/gccrs/pull/4241) |
| 105 | +- Update tuple pattern type-check to attempt to continue resolving |
| 106 | + items after size error |
| 107 | + [PR4239](https://github.com/rust-gcc/gccrs/pull/4239) |
| 108 | +- Fix ICE for repr attribute malformation |
| 109 | + [PR4238](https://github.com/rust-gcc/gccrs/pull/4238) |
| 110 | +- gccrs: make invalid inner attributes show error |
| 111 | + [PR4237](https://github.com/rust-gcc/gccrs/pull/4237) |
| 112 | +- ci: stop using pull<sub>request</sub> event, use push |
| 113 | + [PR4224](https://github.com/rust-gcc/gccrs/pull/4224) |
| 114 | +- gccrs: fix inner attr derive doesn't show error |
| 115 | + [PR4218](https://github.com/rust-gcc/gccrs/pull/4218) |
| 116 | +- gccrs: fix segfault on exported macro |
| 117 | + [PR4215](https://github.com/rust-gcc/gccrs/pull/4215) |
| 118 | +- Bump clang-format version to use in CONTRIBUTING.md |
| 119 | + [PR4208](https://github.com/rust-gcc/gccrs/pull/4208) |
| 120 | +- gccrs: fix ICE on missing pattern in while loop |
| 121 | + [PR4207](https://github.com/rust-gcc/gccrs/pull/4207) |
| 122 | +- gccrs: fix ICE in TyVar constructor |
| 123 | + [PR4206](https://github.com/rust-gcc/gccrs/pull/4206) |
| 124 | +- gccrs: Emit error when tuple-indexing on non-tuples |
| 125 | + [PR4205](https://github.com/rust-gcc/gccrs/pull/4205) |
| 126 | +- ci: refactor conditional parts |
| 127 | + [PR4202](https://github.com/rust-gcc/gccrs/pull/4202) |
| 128 | +- gccrs: Refactor TyTy::ConstType into separate types |
| 129 | + [PR4199](https://github.com/rust-gcc/gccrs/pull/4199) |
| 130 | +- fix: early return for module file error in AST parsing |
| 131 | + [PR4151](https://github.com/rust-gcc/gccrs/pull/4151) |
| 132 | +- Improve macro expansion for \`libcore\` |
| 133 | + [PR4053](https://github.com/rust-gcc/gccrs/pull/4053) |
| 134 | + |
| 135 | +### Contributors this month |
| 136 | + |
| 137 | +- [Lucas Ly Ba](https://github.com/lucasly-ba) (new contributor!) |
| 138 | +- [Lenny Chiadmi-Delage](https://github.com/Villosse) (new |
| 139 | + contributor!) |
| 140 | +- [LowR](https://github.com/lowr) (new contributor!) |
| 141 | +- [Lishin](https://github.com/Lishin1215) (new contributor!) |
| 142 | +- [elle](https://github.com/0xllx0) |
| 143 | +- [Vishruth Thimmaiah](https://github.com/vishruth-thimmaiah) |
| 144 | +- [Zhi Heng](https://github.com/Polygonalr) |
| 145 | +- [Marc Poulhiès](https://github.com/dkm) |
| 146 | +- [Owen Avery](https://github.com/powerboat9) |
| 147 | +- [Pierre-Emmanuel Patry](https://github.com/P-E-P) |
| 148 | +- [Philip Herron](https://github.com/philberty) |
| 149 | +- [Arthur Cohen](https://github.com/CohenArthur) |
| 150 | + |
| 151 | +### Overall Task Status |
| 152 | + |
| 153 | +| Category | Last Month | This Month | Delta | |
| 154 | +|-------------|------------|------------|-------| |
| 155 | +| TODO | 406 | 418 | +12 | |
| 156 | +| In Progress | 115 | 115 | \- | |
| 157 | +| Completed | 1154 | 1177 | +23 | |
| 158 | + |
| 159 | +### Bugs |
| 160 | + |
| 161 | +| Category | Last Month | This Month | Delta | |
| 162 | +|-------------|------------|------------|-------| |
| 163 | +| TODO | 207 | 197 | -10 | |
| 164 | +| In Progress | 55 | 55 | \- | |
| 165 | +| Completed | 572 | 586 | +14 | |
| 166 | + |
| 167 | +### Test Cases |
| 168 | + |
| 169 | +| TestCases | Last Month | This Month | Delta | |
| 170 | +|-----------|------------|------------|-------| |
| 171 | +| Passing | 10304 | 10458 | +154 | |
| 172 | +| Failed | \- | \- | \- | |
| 173 | +| XFAIL | 72 | 74 | +2 | |
| 174 | +| XPASS | \- | \- | \- | |
| 175 | + |
| 176 | +### Milestones Progress |
| 177 | + |
| 178 | +| Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | Target GCC | |
| 179 | +|----------------|------------|------------|-------|--------------|-----------------|--------|------------| |
| 180 | +| Rust-for-Linux | 0% | 0% | \- | 1st Nov 2025 | \- | \- | GCC 16.1 | |
| 181 | + |
| 182 | +| Upcoming Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | Target GCC | |
| 183 | +|-------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| |
| 184 | +| Unstable RfL features | 0% | 0% | \- | 7th Jan 2025 | \- | 1st Aug 2025 | GCC 16.1 | |
| 185 | +| Generic Associated Types | 0% | 0% | \- | 15th Mar 2025 | \- | 15th Jun 2025 | GCC 16.1 | |
| 186 | +| RfL const generics | 0% | 0% | \- | 1st May 2025 | \- | 15th Jun 2025 | GCC 16.1 | |
| 187 | +| frontend plugin hooks | 0% | 0% | \- | 15th May 2025 | \- | 7th Jul 2025 | GCC 16.1 | |
| 188 | +| Handling the testsuite issues | 0% | 0% | \- | 15th Sep 2024 | \- | 15th Sep 2025 | GCC 16.1 | |
| 189 | +| main shim | 0% | 0% | \- | 28th Jul 2025 | \- | 15th Sep 2025 | GCC 16.1 | |
| 190 | +| Final core attributes | 0% | 0% | \- | | \- | | GCC 16.1 | |
| 191 | +| Core nightly features | 0% | 0% | \- | | \- | | GCC 16.1 | |
| 192 | +| Defered inference | 0% | 0% | \- | | \- | | GCC 16.1 | |
| 193 | +| Fn traits fixes | 0% | 0% | \- | | \- | | GCC 16.1 | |
| 194 | +| Recursive types | 0% | 0% | \- | | \- | | GCC 16.1 | |
| 195 | +| Drop | 0% | 0% | \- | | \- | | GCC 16.1 | |
| 196 | +| Pin, PinInit | 0% | 0% | \- | | \- | | GCC 16.1 | |
| 197 | + |
| 198 | +| Past Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | Target GCC | |
| 199 | +|--------------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| |
| 200 | +| Data Structures 1 - Core | 100% | 100% | \- | 30th Nov 2020 | 27th Jan 2021 | 29th Jan 2021 | GCC 14.1 | |
| 201 | +| Control Flow 1 - Core | 100% | 100% | \- | 28th Jan 2021 | 10th Feb 2021 | 26th Feb 2021 | GCC 14.1 | |
| 202 | +| Data Structures 2 - Generics | 100% | 100% | \- | 11th Feb 2021 | 14th May 2021 | 28th May 2021 | GCC 14.1 | |
| 203 | +| Data Structures 3 - Traits | 100% | 100% | \- | 20th May 2021 | 17th Sep 2021 | 27th Aug 2021 | GCC 14.1 | |
| 204 | +| Control Flow 2 - Pattern Matching | 100% | 100% | \- | 20th Sep 2021 | 9th Dec 2021 | 29th Nov 2021 | GCC 14.1 | |
| 205 | +| Macros and cfg expansion | 100% | 100% | \- | 1st Dec 2021 | 31st Mar 2022 | 28th Mar 2022 | GCC 14.1 | |
| 206 | +| Imports and Visibility | 100% | 100% | \- | 29th Mar 2022 | 13th Jul 2022 | 27th May 2022 | GCC 14.1 | |
| 207 | +| Const Generics | 100% | 100% | \- | 30th May 2022 | 10th Oct 2022 | 17th Oct 2022 | GCC 14.1 | |
| 208 | +| Initial upstream patches | 100% | 100% | \- | 10th Oct 2022 | 13th Nov 2022 | 13th Nov 2022 | GCC 14.1 | |
| 209 | +| Upstream initial patchset | 100% | 100% | \- | 13th Nov 2022 | 13th Dec 2022 | 19th Dec 2022 | GCC 14.1 | |
| 210 | +| Update GCC's master branch | 100% | 100% | \- | 1st Jan 2023 | 21st Feb 2023 | 3rd Mar 2023 | GCC 14.1 | |
| 211 | +| Final set of upstream patches | 100% | 100% | \- | 16th Nov 2022 | 1st May 2023 | 30th Apr 2023 | GCC 14.1 | |
| 212 | +| Borrow Checking 1 | 100% | 100% | \- | TBD | 8th Jan 2024 | 15th Aug 2023 | GCC 14.1 | |
| 213 | +| Procedural Macros 1 | 100% | 100% | \- | 13th Apr 2023 | 6th Aug 2023 | 6th Aug 2023 | GCC 14.1 | |
| 214 | +| GCC 13.2 Release | 100% | 100% | \- | 13th Apr 2023 | 22nd Jul 2023 | 15th Jul 2023 | GCC 14.1 | |
| 215 | +| GCC 14 Stage 3 | 100% | 100% | \- | 1st Sep 2023 | 20th Sep 2023 | 1st Nov 2023 | GCC 14.1 | |
| 216 | +| GCC 14.1 Release | 100% | 100% | \- | 2nd Jan 2024 | 2nd Jun 2024 | 15th Apr 2024 | GCC 14.1 | |
| 217 | +| format<sub>args</sub>!() support | 100% | 100% | \- | 15th Feb 2024 | \- | 1st Apr 2024 | GCC 14.1 | |
| 218 | +| GCC 14.2 | 100% | 100% | \- | 7th Jun 2024 | 15th Jun 2024 | 15th Jun 2024 | GCC 14.2 | |
| 219 | +| GCC 15.1 | 100% | 100% | \- | 21st Jun 2024 | 31st Jun 2024 | 1st Jul 2024 | GCC 15.1 | |
| 220 | +| Unhandled attributes | 100% | 100% | \- | 1st Jul 2024 | 15th Aug 2024 | 15th Aug 2024 | GCC 15.1 | |
| 221 | +| Inline assembly | 100% | 100% | \- | 1st Jun 2024 | 26th Aug 2024 | 15th Sep 2024 | GCC 15.1 | |
| 222 | +| Rustc Testsuite Adaptor | 100% | 100% | \- | 1st Jun 2024 | 26th Aug 2024 | 15th Sep 2024 | GCC 15.1 | |
| 223 | +| Borrow checker improvements | 100% | 100% | \- | 1st Jun 2024 | 26th Aug 2024 | 15th Sep 2024 | GCC 15.1 | |
| 224 | +| Deref and DerefMut improvements | 100% | 100% | \- | 28th Sep 2024 | 25th Oct 2024 | 28th Dec 2024 | GCC 15.1 | |
| 225 | +| Indexing fixes | 100% | 100% | \- | 21st Jul 2024 | 25th Dec 2024 | 15th Nov 2024 | GCC 15.1 | |
| 226 | +| Iterator fixes | 100% | 100% | \- | 21st Jul 2024 | 25th Dec 2024 | 15th Nov 2024 | GCC 15.1 | |
| 227 | +| Auto traits improvements | 100% | 100% | \- | 15th Sep 2024 | 20th Jan 2025 | 21st Dec 2024 | GCC 15.1 | |
| 228 | +| Lang items | 100% | 100% | \- | 1st Jul 2024 | 10th Jan 2025 | 21st Nov 2024 | GCC 15.1 | |
| 229 | +| alloc parser issues | 100% | 100% | \- | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 15.1 | |
| 230 | +| std parser issues | 100% | 100% | \- | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 16.1 | |
| 231 | +| Question mark operator | 100% | 100% | \- | 15th Dec 2024 | 21st Feb 2025 | 21st Feb 2025 | GCC 15.1 | |
| 232 | +| Name resolution 2.0 rework | 100% | 100% | \- | 1st Jun 2024 | \- | 1st Apr 2025 | GCC 15.1 | |
| 233 | +| Macro expansion | 100% | 100% | \- | 1st Jun 2024 | \- | 1st Jan 2025 | GCC 15.1 | |
| 234 | +| Remaining typecheck issues | 100% | 100% | \- | 21st Oct 2024 | \- | 1st Mar 2025 | GCC 15.1 | |
| 235 | +| cfg-core | 100% | 100% | \- | 1st Dec 2024 | 24th Mar 2025 | 1st Mar 2025 | GCC 15.1 | |
| 236 | +| Codegen fixes | 100% | 100% | \- | 7th Oct 2024 | 1st Apr 2025 | 1st Mar 2025 | GCC 15.1 | |
| 237 | +| black<sub>box</sub> intrinsic | 100% | 100% | \- | 28th Oct 2024 | \- | 28th Jan 2025 | GCC 15.1 | |
| 238 | +| let-else | 100% | 100% | \- | 28th Jan 2025 | \- | 28th Feb 2025 | GCC 15.1 | |
| 239 | +| Specialization | 100% | 100% | \- | 1st Jan 2025 | 1st Apr 2025 | 1st Mar 2025 | GCC 15.1 | |
| 240 | +| cfg-rfl | 100% | 100% | \- | 7th Jan 2025 | 19th Mar 2025 | 15th Feb 2025 | GCC 15.1 | |
| 241 | +| Downgrade to Rust 1.49 | 100% | 100% | \- | 14th Mar 2025 | 26th Mar 2025 | 1st Apr 2025 | GCC 15.1 | |
| 242 | +| try blocks | 100% | 100% | \- | | 30th Jul 2025 | | GCC 16.1 | |
| 243 | +| while-let loops | 100% | 100% | \- | | 30th Jul 2025 | | GCC 16.1 | |
| 244 | +| offset<sub>of</sub>!() builtin macro | 100% | 100% | \- | 15th Mar 2025 | 4th Aug 2025 | 15th Aug 2025 | GCC 16.1 | |
| 245 | +| Explicit generics with impl Trait | 100% | 100% | \- | 28th Feb 2025 | 21st Jul 2025 | 28th Mar 2025 | GCC 16.1 | |
| 246 | +| Final Inline assembly fixes | 100% | 100% | \- | | \- | | GCC 16.1 | |
| 247 | + |
| 248 | +## Planned Activities |
| 249 | + |
| 250 | +- Finish debugging `core` |
| 251 | +- Continue collecting issues for Rust-for-Linux milestones |
| 252 | +- Work on RfL issues |
0 commit comments