#+title: Weekly report for 2nd of December to 9th of December 2024 #+author: Philip Herron, Pierre-Emmanuel Patry, Arthur Cohen #+date: 2024-12-09 ** Overview Thanks again to [[https://opensrcsec.com/][Open Source Security, inc]] and [[https://www.embecosm.com/][Embecosm]] for their ongoing support for this project. - Lang items milestone is almost done, needs one CI issue to be merged and fully resolved - More typesystem fixes ** Completed Activities - Collect lang items in the AST [[https://github.com/rust-gcc/gccrs/pull/3289][PR3289]] - type-check: Remove unused capture in nr2.0 [[https://github.com/rust-gcc/gccrs/pull/3288][PR3288]] - gccrs: fix crash in hir dump [[https://github.com/rust-gcc/gccrs/pull/3283][PR3283]] - gccrs: add test case to show issue is fixed [[https://github.com/rust-gcc/gccrs/pull/3282][PR3282]] - gccrs: constant evaluation like these are coercion sites [[https://github.com/rust-gcc/gccrs/pull/3281][PR3281]] - gccrs: Remove bad assertion in name resolution [[https://github.com/rust-gcc/gccrs/pull/3280][PR3280]] - gccrs: add checks for division by zero and left shift overflow [[https://github.com/rust-gcc/gccrs/pull/3279][PR3279]] - Cleanup `ContextualASTVisitor` [[https://github.com/rust-gcc/gccrs/pull/3271][PR3271]] *** Contributors this week - [[https://github.com/philberty][Philip Herron]] - [[https://github.com/cohenarthur][Arthur Cohen]] - [[https://github.com/P-E-P][Pierre-Emmanuel Patry]] *** Overall Task Status | Category | Last Week | This Week | Delta | |-------------+-----------+-----------+-------| | TODO | 316 | 309 | -7 | | In Progress | 80 | 84 | +4 | | Completed | 907 | 913 | +6 | *** Test Cases | TestCases | Last Week | This Week | Delta | |-----------+-----------+-----------+-------| | Passing | 9266 | 9279 | +13 | | Failed | - | - | - | | XFAIL | 264 | 266 | +2 | | XPASS | | | | *** Bugs | Category | Last Week | This Week | Delta | |-------------+-----------+-----------+-------| | TODO | 112 | 110 | -2 | | In Progress | 40 | 39 | -1 | | Completed | 450 | 454 | +4 | *** Milestones Progress | Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| | Name resolution 2.0 rework | 20% | 20% | - | 1st Jun 2024 | - | 1st Apr 2025 | GCC 15.1 | | Macro expansion | 29% | 29% | - | 1st Jun 2024 | - | 1st Jan 2025 | GCC 15.1 | | Lang items | 90% | 95% | +5% | 1st Jul 2024 | - | 21st Nov 2024 | GCC 15.1 | | Indexing fixes | 0% | 0% | - | 21st Jul 2024 | - | 15th Nov 2024 | GCC 15.1 | | Iterator fixes | 0% | 0% | - | 21st Jul 2024 | - | 15th Nov 2024 | GCC 15.1 | | Auto traits improvements | 0% | 0% | - | 15th Sep 2024 | - | 21st Dec 2024 | GCC 15.1 | | Remaining typecheck issues | 88% | 88% | - | 21st Oct 2024 | - | 1st Mar 2025 | GCC 15.1 | | cfg-core | 0% | 0% | - | 1st Dec 2024 | - | 1st Mar 2025 | GCC 15.1 | | Codegen fixes | 0% | 0% | - | 7th Oct 2024 | - | 1st Mar 2025 | GCC 15.1 | | Upcoming Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| | Question mark operator | 0% | 0% | - | 15th Dec 2024 | - | 21st Feb 2025 | GCC 15.1 | | Specialization | 0% | 0% | - | 1st Jan 2025 | - | 1st Mar 2025 | GCC 15.1 | | Inline assembly | 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 | | Rustc Testsuite Adaptor | 0% | 0% | - | 1st Jun 2024 | - | 15th Sep 2024 | GCC 15.1 | | black_box intrinsic | 0% | 0% | - | 28th Oct 2024 | - | 28th Jan 2025 | GCC 15.1 | | Unstable RfL features | 0% | 0% | - | 7th Jan 2025 | - | 1st Mar 2025 | GCC 15.1 | | cfg-rfl | 0% | 0% | - | 7th Jan 2025 | - | 15th Feb 2025 | GCC 15.1 | | alloc parser issues | 100% | 100% | - | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 15.1 | | let-else | 0% | 0% | - | 28th Jan 2025 | - | 28th Feb 2025 | GCC 15.1 | | Explicit generics with impl Trait | 0% | 0% | - | 28th Feb 2025 | - | 28th Mar 2025 | GCC 15.1 | | Downgrade to Rust 1.49 | 0% | 0% | - | - | - | 1st Apr 2025 | GCC 15.1 | | offset_of!() builtin macro | 0% | 0% | - | 15th Mar 2025 | - | 15th May 2025 | GCC 15.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 | | std parser issues | 100% | 100% | - | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 16.1 | | main shim | 0% | 0% | - | 28th Jul 2025 | - | 15th Sep 2025 | GCC 16.1 | | Past Milestone | Last Week | This Week | 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 | | Deref and DerefMut improvements | 100% | 100% | - | 28th Sep 2024 | 25th Oct 2024 | 28th Dec 2024 | GCC 15.1 | *** Risks We have now entered Stage 3 of GCC development, and all of the patches we needed to get upstreamed have been upstreamed. The risk present in this table is no longer present. | Risk | Impact (1-3) | Likelihood (0-10) | Risk (I * L) | Mitigation | |-----------------------------------------------+--------------+-------------------+--------------+-----------------------------------------------------------------| | Missing features for GCC 15.1 deadline | 2 | 0 | 0 | Start working on required features as early as July (6mo ahead) | ** Planned Activities - Continue fixing remaining failing test for name resolution 2.0 - Continue with lang item codegen ** Detailed changelog