diff --git a/2026/2026-04-20-report.org b/2026/2026-04-20-report.org new file mode 100644 index 0000000..d6e6aff --- /dev/null +++ b/2026/2026-04-20-report.org @@ -0,0 +1,164 @@ +#+title: Weekly report for 13th of April to 30th of April 2026 +#+author: Philip Herron, Pierre-Emmanuel Patry, Arthur Cohen +#+date: 2026-04-30 + +** Overview + +Thanks again to [[https://opensrcsec.com/][Open Source Security, inc]] and [[https://www.embecosm.com/][Embecosm]] for their ongoing support for this project. + +- Still working on kernel crates and core issues +- Progress on some of the NR refactors mentioned in monthly report + - https://rust-gcc.github.io/2026/04/13/2026-03-monthly-report.html + - Almost done and being cleaned up for merging +- Upstream merges still going on, schedule is being kept, everything on track +- GSoC applicants have been selected, now we wait for Google's answer +- Have to figure out the work program for Zhi Heng as part of his internship with Open Source Security + +** Completed Activities + +- Sync with upstream (2026-04-13): e2174f54883a26687b3244246ec8e6154afccc0f [[https://github.com/rust-gcc/gccrs/pull/4523][PR4523]] +- Fix ICE in unused var when we hit unit const type [[https://github.com/rust-gcc/gccrs/pull/4518][PR4518]] +- Clean up of 'flag_name_resolution_2_0' mention, as this is no longer … [[https://github.com/rust-gcc/gccrs/pull/4512][PR4512]] +- Add cttz and cttz_nonzero support [[https://github.com/rust-gcc/gccrs/pull/4511][PR4511]] +- Replace usages of `chainon` [[https://github.com/rust-gcc/gccrs/pull/4508][PR4508]] +- Strip down 1.0 resolver [[https://github.com/rust-gcc/gccrs/pull/4506][PR4506]] +- Delete macro attribute input [[https://github.com/rust-gcc/gccrs/pull/4505][PR4505]] +- rust: Fix ICE in function_set_parameters [[https://github.com/rust-gcc/gccrs/pull/4501][PR4501]] +- gccrs: Fix ICE caused by TypeCheckBase::parse_repr_options [[https://github.com/rust-gcc/gccrs/pull/4500][PR4500]] +- Improve unit struct matching [[https://github.com/rust-gcc/gccrs/pull/4499][PR4499]] +- Fix glob import all ICE issue [[https://github.com/rust-gcc/gccrs/pull/4498][PR4498]] +- Remove redundant expand visitor overloads [[https://github.com/rust-gcc/gccrs/pull/4497][PR4497]] +- Deduplicate some functions within PointerVisitor [[https://github.com/rust-gcc/gccrs/pull/4489][PR4489]] +- Accepts `compiler_builtins` and `no_builtins` attribute. [[https://github.com/rust-gcc/gccrs/pull/4488][PR4488]] +- Intrinsic: Add `ctlz` and `ctlz_nonzero` intrinsics [[https://github.com/rust-gcc/gccrs/pull/4467][PR4467]] +- enforce function qualifier order [[https://github.com/rust-gcc/gccrs/pull/4463][PR4463]] +- Disambiguate identifier and path patterns [[https://github.com/rust-gcc/gccrs/pull/4455][PR4455]] +- gccrs: Fix 128-bit non-decimal integer literal saturation [[https://github.com/rust-gcc/gccrs/pull/4454][PR4454]] +- lint: Fix ICE on error_mark_node in unused variable linter [[https://github.com/rust-gcc/gccrs/pull/4438][PR4438]] +- expand: Add error check if derive has wrong item [[https://github.com/rust-gcc/gccrs/pull/4359][PR4359]] +- nr1.0: Remove support in checking phases [[https://github.com/rust-gcc/gccrs/pull/4108][PR4108]] + +*** Contributors this week + +- [[https://github.com/fisnikhasani][Fisnik Hasani]] (new contributor!) +- [[https://github.com/AhmedSaid3617][Ahmed Said]] +- [[https://github.com/Islam-Imad][Islam Imad]] +- [[https://github.com/nsvke][Enes Çevik]] +- [[https://github.com/Pasta-coder][Jayant Chauhan]] +- [[https://github.com/phi-gamma][Philipp Gesang]] +- [[https://github.com/moabo3li][Mohamed Ali]] +- [[https://github.com/riogu][Egas Ribeiro]] +- [[https://github.com/Polygonalr][Zhi Heng]] +- [[https://github.com/dkm][Marc Poulhiès]] +- [[https://github.com/powerboat9][Owen Avery]] +- [[https://github.com/P-E-P][Pierre-Emmanuel Patry]] + +*** Overall Task Status + +| Category | Last Month | This Month | Delta | +|-------------+------------+------------+-------| +| TODO | 408 | 407 | -1 | +| In Progress | 119 | 118 | -1 | +| Completed | 1236 | 1246 | +10 | + +*** Bugs + +| Category | Last Month | This Month | Delta | +|-------------+------------+------------+-------| +| TODO | 194 | 192 | -2 | +| In Progress | 55 | 52 | -3 | +| Completed | 613 | 619 | +6 | + +*** Test Cases + +| TestCases | Last Month | This Month | Delta | +|-----------+------------+------------+-------| +| Passing | 10627 | 10627 | +10 | +| Failed | - | - | - | +| XFAIL | 73 | 73 | - | +| XPASS | - | - | - | + +*** Milestones Progress + +| Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | Target GCC | +|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| +| Rust-for-Linux | 12% | 12% | - | 1st Nov 2025 | - | - | GCC 16.1 | +| Full core Late nameres issues | 20% | 20% | - | 1st Dec 2025 | - | - | GCC 16.1 | +| Full core Early nameres issues | 95% | 99% | +4% | 1st Dec 2025 | - | - | GCC 16.1 | +| Full core Typecheck issues | 7% | 7% | - | 21st Jan 2026 | - | - | 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 + +- Add the ability to inject inner attributes to the crate from the command line + - Will help with the fuzzing work +- Continue work on rust-for-linux + +** Detailed changelog