|
| 1 | +#+title: Weekly report for 20th of January to 27th of January 2025 |
| 2 | +#+author: Philip Herron, Pierre-Emmanuel Patry, Arthur Cohen |
| 3 | +#+date: 2025-01-27 |
| 4 | + |
| 5 | +** Overview |
| 6 | + |
| 7 | +Thanks again to [[https://opensrcsec.com/][Open Source Security, inc]] and [[https://www.embecosm.com/][Embecosm]] for their ongoing support for this project. |
| 8 | + |
| 9 | +- 10 PRs merged this week, very productive week |
| 10 | +- Advancements on all three milestones that were mentionned |
| 11 | +- Error Propagation operator milestone almost completed but not merged |
| 12 | + - All of the lang items are set in place |
| 13 | + - Waiting on fixing one bug in our backend which culls the generated nodes |
| 14 | + - There are also two typechecker issues holding us back a little |
| 15 | +- One massive PR is also in review which will almost get us all the way to for-loops and error propagation operator |
| 16 | +- Fixes to our built-in derive macros when implemented on generic types |
| 17 | +- More name resolution 2.0 fixes, including closure capture feature which is essential |
| 18 | +- Progress on the black_box intrinsic as well |
| 19 | + |
| 20 | +** Completed Activities |
| 21 | + |
| 22 | +- Update `upload-artifact` to v4 [[https://github.com/rust-gcc/gccrs/pull/3387][PR3387]] |
| 23 | +- backend: Allow anything as a match scrutinee [[https://github.com/rust-gcc/gccrs/pull/3379][PR3379]] |
| 24 | +- Check for type paths nr2.0 can't handle yet [[https://github.com/rust-gcc/gccrs/pull/3377][PR3377]] |
| 25 | +- lang-items: Add Result and Try lang items [[https://github.com/rust-gcc/gccrs/pull/3375][PR3375]] |
| 26 | +- Add receiver lang item [[https://github.com/rust-gcc/gccrs/pull/3374][PR3374]] |
| 27 | +- Nr2 closure captures [[https://github.com/rust-gcc/gccrs/pull/3373][PR3373]] |
| 28 | +- Add basic handling for auto-traits [[https://github.com/rust-gcc/gccrs/pull/3370][PR3370]] |
| 29 | +- derive(Copy): Improve bounds when deriving Copy [[https://github.com/rust-gcc/gccrs/pull/3369][PR3369]] |
| 30 | +- Improve `derive(Clone)` for generic types [[https://github.com/rust-gcc/gccrs/pull/3367][PR3367]] |
| 31 | +- Fix rust breakage with nr2 [[https://github.com/rust-gcc/gccrs/pull/3266][PR3266]] |
| 32 | + |
| 33 | +*** Contributors this week |
| 34 | + |
| 35 | +- [[https://github.com/Lishin1215][Lishin]] (new contributor!) |
| 36 | +- [[https://github.com/powerboat9][Owen Avery]] |
| 37 | +- [[https://github.com/philberty][Philip Herron]] |
| 38 | +- [[https://github.com/cohenarthur][Arthur Cohen]] |
| 39 | +- [[https://github.com/P-E-P][Pierre-Emmanuel Patry]] |
| 40 | + |
| 41 | +*** Overall Task Status |
| 42 | + |
| 43 | +| Category | Last Week | This Week | Delta | |
| 44 | +|-------------+-----------+-----------+-------| |
| 45 | +| TODO | 308 | 308 | - | |
| 46 | +| In Progress | 93 | 94 | +1 | |
| 47 | +| Completed | 926 | 928 | +2 | |
| 48 | + |
| 49 | +*** Bugs |
| 50 | + |
| 51 | +| Category | Last Week | This Week | Delta | |
| 52 | +|-------------+-----------+-----------+-------| |
| 53 | +| TODO | 108 | 108 | - | |
| 54 | +| In Progress | 41 | 40 | - | |
| 55 | +| Completed | 460 | 460 | - | |
| 56 | + |
| 57 | +*** Test Cases |
| 58 | + |
| 59 | +| TestCases | Last Week | This Week | Delta | |
| 60 | +|-----------+-----------+-----------+-------| |
| 61 | +| Passing | 9426 | 9426 | +19 | |
| 62 | +| Failed | - | - | - | |
| 63 | +| XFAIL | 209 | 209 | +3 | |
| 64 | +| XPASS | | | | |
| 65 | + |
| 66 | +*** Milestones Progress |
| 67 | + |
| 68 | +| Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |
| 69 | +|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| |
| 70 | +| Name resolution 2.0 rework | 20% | 22% | +2% | 1st Jun 2024 | - | 1st Apr 2025 | GCC 15.1 | |
| 71 | +| Macro expansion | 33% | 45% | +12% | 1st Jun 2024 | - | 1st Jan 2025 | GCC 15.1 | |
| 72 | +| Auto traits improvements | 60% | 100% | +40% | 15th Sep 2024 | 20th Jan 2025 | 21st Dec 2024 | GCC 15.1 | |
| 73 | +| Remaining typecheck issues | 88% | 88% | - | 21st Oct 2024 | - | 1st Mar 2025 | GCC 15.1 | |
| 74 | +| cfg-core | 0% | 0% | - | 1st Dec 2024 | - | 1st Mar 2025 | GCC 15.1 | |
| 75 | +| Codegen fixes | 0% | 0% | - | 7th Oct 2024 | - | 1st Mar 2025 | GCC 15.1 | |
| 76 | +| black_box intrinsic | 0% | 20% | +20% | 28th Oct 2024 | - | 28th Jan 2025 | GCC 15.1 | |
| 77 | +| Question mark operator | 0% | 16% | +16% | 15th Dec 2024 | - | 21st Feb 2025 | GCC 15.1 | |
| 78 | + |
| 79 | +| Upcoming Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |
| 80 | +|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| |
| 81 | +| alloc parser issues | 100% | 100% | - | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 15.1 | |
| 82 | +| cfg-rfl | 0% | 0% | - | 7th Jan 2025 | - | 15th Feb 2025 | GCC 15.1 | |
| 83 | +| let-else | 0% | 0% | - | 28th Jan 2025 | - | 28th Feb 2025 | GCC 15.1 | |
| 84 | +| Specialization | 0% | 0% | - | 1st Jan 2025 | - | 1st Mar 2025 | GCC 15.1 | |
| 85 | +| Inline assembly | 100% | 100% | - | 1st Jun 2024 | 26th Aug 2024 | 15th Sep 2024 | GCC 15.1 | |
| 86 | +| Borrow checker improvements | 100% | 100% | - | 1st Jun 2024 | 26th Aug 2024 | 15th Sep 2024 | GCC 15.1 | |
| 87 | +| Rustc Testsuite Adaptor | 0% | 0% | - | 1st Jun 2024 | - | 15th Sep 2024 | GCC 15.1 | |
| 88 | +| Unstable RfL features | 0% | 0% | - | 7th Jan 2025 | - | 1st Mar 2025 | GCC 15.1 | |
| 89 | +| Explicit generics with impl Trait | 0% | 0% | - | 28th Feb 2025 | - | 28th Mar 2025 | GCC 15.1 | |
| 90 | +| Downgrade to Rust 1.49 | 0% | 0% | - | - | - | 1st Apr 2025 | GCC 15.1 | |
| 91 | +| offset_of!() builtin macro | 0% | 0% | - | 15th Mar 2025 | - | 15th May 2025 | GCC 15.1 | |
| 92 | +| Generic Associated Types | 0% | 0% | - | 15th Mar 2025 | - | 15th Jun 2025 | GCC 16.1 | |
| 93 | +| RfL const generics | 0% | 0% | - | 1st May 2025 | - | 15th Jun 2025 | GCC 16.1 | |
| 94 | +| frontend plugin hooks | 0% | 0% | - | 15th May 2025 | - | 7th Jul 2025 | GCC 16.1 | |
| 95 | +| Handling the testsuite issues | 0% | 0% | - | 15th Sep 2024 | - | 15th Sep 2025 | GCC 16.1 | |
| 96 | +| std parser issues | 100% | 100% | - | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 16.1 | |
| 97 | +| main shim | 0% | 0% | - | 28th Jul 2025 | - | 15th Sep 2025 | GCC 16.1 | |
| 98 | + |
| 99 | +| Past Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |
| 100 | +|-----------------------------------+------------+------------+-------+---------------+-----------------+---------------|------------| |
| 101 | +| Data Structures 1 - Core | 100% | 100% | - | 30th Nov 2020 | 27th Jan 2021 | 29th Jan 2021 | GCC 14.1 | |
| 102 | +| Control Flow 1 - Core | 100% | 100% | - | 28th Jan 2021 | 10th Feb 2021 | 26th Feb 2021 | GCC 14.1 | |
| 103 | +| Data Structures 2 - Generics | 100% | 100% | - | 11th Feb 2021 | 14th May 2021 | 28th May 2021 | GCC 14.1 | |
| 104 | +| Data Structures 3 - Traits | 100% | 100% | - | 20th May 2021 | 17th Sep 2021 | 27th Aug 2021 | GCC 14.1 | |
| 105 | +| Control Flow 2 - Pattern Matching | 100% | 100% | - | 20th Sep 2021 | 9th Dec 2021 | 29th Nov 2021 | GCC 14.1 | |
| 106 | +| Macros and cfg expansion | 100% | 100% | - | 1st Dec 2021 | 31st Mar 2022 | 28th Mar 2022 | GCC 14.1 | |
| 107 | +| Imports and Visibility | 100% | 100% | - | 29th Mar 2022 | 13th Jul 2022 | 27th May 2022 | GCC 14.1 | |
| 108 | +| Const Generics | 100% | 100% | - | 30th May 2022 | 10th Oct 2022 | 17th Oct 2022 | GCC 14.1 | |
| 109 | +| Initial upstream patches | 100% | 100% | - | 10th Oct 2022 | 13th Nov 2022 | 13th Nov 2022 | GCC 14.1 | |
| 110 | +| Upstream initial patchset | 100% | 100% | - | 13th Nov 2022 | 13th Dec 2022 | 19th Dec 2022 | GCC 14.1 | |
| 111 | +| Update GCC's master branch | 100% | 100% | - | 1st Jan 2023 | 21st Feb 2023 | 3rd Mar 2023 | GCC 14.1 | |
| 112 | +| Final set of upstream patches | 100% | 100% | - | 16th Nov 2022 | 1st May 2023 | 30th Apr 2023 | GCC 14.1 | |
| 113 | +| Borrow Checking 1 | 100% | 100% | - | TBD | 8th Jan 2024 | 15th Aug 2023 | GCC 14.1 | |
| 114 | +| Procedural Macros 1 | 100% | 100% | - | 13th Apr 2023 | 6th Aug 2023 | 6th Aug 2023 | GCC 14.1 | |
| 115 | +| GCC 13.2 Release | 100% | 100% | - | 13th Apr 2023 | 22nd Jul 2023 | 15th Jul 2023 | GCC 14.1 | |
| 116 | +| GCC 14 Stage 3 | 100% | 100% | - | 1st Sep 2023 | 20th Sep 2023 | 1st Nov 2023 | GCC 14.1 | |
| 117 | +| GCC 14.1 Release | 100% | 100% | - | 2nd Jan 2024 | 2nd Jun 2024 | 15th Apr 2024 | GCC 14.1 | |
| 118 | +| format_args!() support | 100% | 100% | - | 15th Feb 2024 | - | 1st Apr 2024 | GCC 14.1 | |
| 119 | +| GCC 14.2 | 100% | 100% | - | 7th Jun 2024 | 15th Jun 2024 | 15th Jun 2024 | GCC 14.2 | |
| 120 | +| GCC 15.1 | 100% | 100% | - | 21st Jun 2024 | 31st Jun 2024 | 1st Jul 2024 | GCC 15.1 | |
| 121 | +| Unhandled attributes | 100% | 100% | - | 1st Jul 2024 | 15th Aug 2024 | 15th Aug 2024 | GCC 15.1 | |
| 122 | +| Deref and DerefMut improvements | 100% | 100% | - | 28th Sep 2024 | 25th Oct 2024 | 28th Dec 2024 | GCC 15.1 | |
| 123 | +| Indexing fixes | 100% | 100% | - | 21st Jul 2024 | 25th Dec 2024 | 15th Nov 2024 | GCC 15.1 | |
| 124 | +| Iterator fixes | 100% | 100% | - | 21st Jul 2024 | 25th Dec 2024 | 15th Nov 2024 | GCC 15.1 | |
| 125 | +| Lang items | 100% | 100% | - | 1st Jul 2024 | 10th Jan 2025 | 21st Nov 2024 | GCC 15.1 | |
| 126 | + |
| 127 | +*** Risks |
| 128 | + |
| 129 | +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. |
| 130 | + |
| 131 | +| Risk | Impact (1-3) | Likelihood (0-10) | Risk (I * L) | Mitigation | |
| 132 | +|-----------------------------------------------+--------------+-------------------+--------------+-----------------------------------------------------------------| |
| 133 | +| Missing features for GCC 15.1 deadline | 2 | 0 | 0 | Start working on required features as early as July (6mo ahead) | |
| 134 | + |
| 135 | +** Planned Activities |
| 136 | + |
| 137 | +- Finish all built-in derive macros |
| 138 | +- Finish work on error propagation expression |
| 139 | +- Finish implementation of black_box intrinsic |
| 140 | +- Continue fixing remaining failing test for name resolution 2.0 |
| 141 | + |
| 142 | +** Detailed changelog |
0 commit comments