|
| 1 | +#+title: Weekly report for 7th of January to 13th of January 2025 |
| 2 | +#+author: Philip Herron, Pierre-Emmanuel Patry, Arthur Cohen |
| 3 | +#+date: 2025-01-13 |
| 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 | +- Lots of work on three milestones at the moment, close to having them finished |
| 10 | + - Auto traits |
| 11 | + - Remaining built-in derive macros |
| 12 | + - More lang item stuff |
| 13 | + - A lot of type system and codegen fixes by Philip |
| 14 | + - Some more name resolution fixes |
| 15 | +- Will then switch to error propagation expressions which are a big hurdle in core/std |
| 16 | + |
| 17 | +** Completed Activities |
| 18 | + |
| 19 | +- gccrs: match arms are a LUB [[https://github.com/rust-gcc/gccrs/pull/3360][PR3360]] |
| 20 | +- nr2.0: Resolve `Self` inside impl blocks [[https://github.com/rust-gcc/gccrs/pull/3359][PR3359]] |
| 21 | +- gccrs: fix ICE with hir dump on closure [[https://github.com/rust-gcc/gccrs/pull/3358][PR3358]] |
| 22 | +- gccrs: cleanup our enum type layout to be closer to rustc [[https://github.com/rust-gcc/gccrs/pull/3357][PR3357]] |
| 23 | +- gccrs: fix ICE in borrows to invalid expressions [[https://github.com/rust-gcc/gccrs/pull/3356][PR3356]] |
| 24 | +- gccrs: add support for lang_item eq and PartialEq trait [[https://github.com/rust-gcc/gccrs/pull/3347][PR3347]] |
| 25 | +- nr2.0: Improve default and top-level resolvers [[https://github.com/rust-gcc/gccrs/pull/3332][PR3332]] |
| 26 | +- Visit the trait paths of trait implementations [[https://github.com/rust-gcc/gccrs/pull/3331][PR3331]] |
| 27 | +- Allow float type to be casted as integer type [[https://github.com/rust-gcc/gccrs/pull/3319][PR3319]] |
| 28 | +- gccrs: improve mutability checks [[https://github.com/rust-gcc/gccrs/pull/3311][PR3311]] |
| 29 | +- Add `ForeverStackStore` [[https://github.com/rust-gcc/gccrs/pull/3251][PR3251]] |
| 30 | +- testsuite: Fix missing handling of little endian. [[https://github.com/rust-gcc/gccrs/pull/2805][PR2805]] |
| 31 | +- Add `try` intrinsics [[https://github.com/rust-gcc/gccrs/pull/2614][PR2614]] |
| 32 | + |
| 33 | +*** Contributors this week |
| 34 | + |
| 35 | +- [[https://github.com/liushuyu][Zixing Liu]] |
| 36 | +- [[https://github.com/nobel-sh][Nobel Singh]] |
| 37 | +- [[https://github.com/powerboat9][Owen Avery]] |
| 38 | +- [[https://github.com/philberty][Philip Herron]] |
| 39 | +- [[https://github.com/cohenarthur][Arthur Cohen]] |
| 40 | +- [[https://github.com/P-E-P][Pierre-Emmanuel Patry]] |
| 41 | + |
| 42 | +*** Overall Task Status |
| 43 | + |
| 44 | +| Category | Last Week | This Week | Delta | |
| 45 | +|-------------+-----------+-----------+-------| |
| 46 | +| TODO | 308 | 306 | -2 | |
| 47 | +| In Progress | 88 | 93 | +5 | |
| 48 | +| Completed | 922 | 925 | +3 | |
| 49 | + |
| 50 | +*** Bugs |
| 51 | + |
| 52 | +| Category | Last Week | This Week | Delta | |
| 53 | +|-------------+-----------+-----------+-------| |
| 54 | +| TODO | 110 | 107 | -3 | |
| 55 | +| In Progress | 38 | 41 | +2 | |
| 56 | +| Completed | 458 | 460 | +2 | |
| 57 | + |
| 58 | +*** Test Cases |
| 59 | + |
| 60 | +| TestCases | Last Week | This Week | Delta | |
| 61 | +|-----------+-----------+-----------+-------| |
| 62 | +| Passing | 9329 | 9407 | +78 | |
| 63 | +| Failed | - | - | - | |
| 64 | +| XFAIL | 262 | 206 | -60 | |
| 65 | +| XPASS | | | | |
| 66 | + |
| 67 | +*** Milestones Progress |
| 68 | + |
| 69 | +| Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |
| 70 | +|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| |
| 71 | +| Name resolution 2.0 rework | 14% | 20% | - | 1st Jun 2024 | - | 1st Apr 2025 | GCC 15.1 | |
| 72 | +| Macro expansion | 33% | 33% | - | 1st Jun 2024 | - | 1st Jan 2025 | GCC 15.1 | |
| 73 | +| Lang items | 90% | 100% | +10% | 1st Jul 2024 | 10th Jan 2025 | 21st Nov 2024 | GCC 15.1 | |
| 74 | +| Auto traits improvements | 60% | 60% | - | 15th Sep 2024 | - | 21st Dec 2024 | GCC 15.1 | |
| 75 | +| Remaining typecheck issues | 88% | 88% | - | 21st Oct 2024 | - | 1st Mar 2025 | GCC 15.1 | |
| 76 | +| cfg-core | 0% | 0% | - | 1st Dec 2024 | - | 1st Mar 2025 | GCC 15.1 | |
| 77 | +| Codegen fixes | 0% | 0% | - | 7th Oct 2024 | - | 1st Mar 2025 | GCC 15.1 | |
| 78 | + |
| 79 | +| Upcoming Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |
| 80 | +|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| |
| 81 | +| black_box intrinsic | 0% | 0% | - | 28th Oct 2024 | - | 28th Jan 2025 | GCC 15.1 | |
| 82 | +| alloc parser issues | 100% | 100% | - | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 15.1 | |
| 83 | +| cfg-rfl | 0% | 0% | - | 7th Jan 2025 | - | 15th Feb 2025 | GCC 15.1 | |
| 84 | +| Question mark operator | 0% | 0% | - | 15th Dec 2024 | - | 21st Feb 2025 | GCC 15.1 | |
| 85 | +| let-else | 0% | 0% | - | 28th Jan 2025 | - | 28th Feb 2025 | GCC 15.1 | |
| 86 | +| Specialization | 0% | 0% | - | 1st Jan 2025 | - | 1st Mar 2025 | GCC 15.1 | |
| 87 | +| Inline assembly | 100% | 100% | - | 1st Jun 2024 | 26th Aug 2024 | 15th Sep 2024 | GCC 15.1 | |
| 88 | +| Borrow checker improvements | 100% | 100% | - | 1st Jun 2024 | 26th Aug 2024 | 15th Sep 2024 | GCC 15.1 | |
| 89 | +| Rustc Testsuite Adaptor | 0% | 0% | - | 1st Jun 2024 | - | 15th Sep 2024 | GCC 15.1 | |
| 90 | +| Unstable RfL features | 0% | 0% | - | 7th Jan 2025 | - | 1st Mar 2025 | GCC 15.1 | |
| 91 | +| Explicit generics with impl Trait | 0% | 0% | - | 28th Feb 2025 | - | 28th Mar 2025 | GCC 15.1 | |
| 92 | +| Downgrade to Rust 1.49 | 0% | 0% | - | - | - | 1st Apr 2025 | GCC 15.1 | |
| 93 | +| offset_of!() builtin macro | 0% | 0% | - | 15th Mar 2025 | - | 15th May 2025 | GCC 15.1 | |
| 94 | +| Generic Associated Types | 0% | 0% | - | 15th Mar 2025 | - | 15th Jun 2025 | GCC 16.1 | |
| 95 | +| RfL const generics | 0% | 0% | - | 1st May 2025 | - | 15th Jun 2025 | GCC 16.1 | |
| 96 | +| frontend plugin hooks | 0% | 0% | - | 15th May 2025 | - | 7th Jul 2025 | GCC 16.1 | |
| 97 | +| Handling the testsuite issues | 0% | 0% | - | 15th Sep 2024 | - | 15th Sep 2025 | GCC 16.1 | |
| 98 | +| std parser issues | 100% | 100% | - | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 16.1 | |
| 99 | +| main shim | 0% | 0% | - | 28th Jul 2025 | - | 15th Sep 2025 | GCC 16.1 | |
| 100 | + |
| 101 | +| Past Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target | Target GCC | |
| 102 | +|-----------------------------------+------------+------------+-------+---------------+-----------------+---------------|------------| |
| 103 | +| Data Structures 1 - Core | 100% | 100% | - | 30th Nov 2020 | 27th Jan 2021 | 29th Jan 2021 | GCC 14.1 | |
| 104 | +| Control Flow 1 - Core | 100% | 100% | - | 28th Jan 2021 | 10th Feb 2021 | 26th Feb 2021 | GCC 14.1 | |
| 105 | +| Data Structures 2 - Generics | 100% | 100% | - | 11th Feb 2021 | 14th May 2021 | 28th May 2021 | GCC 14.1 | |
| 106 | +| Data Structures 3 - Traits | 100% | 100% | - | 20th May 2021 | 17th Sep 2021 | 27th Aug 2021 | GCC 14.1 | |
| 107 | +| Control Flow 2 - Pattern Matching | 100% | 100% | - | 20th Sep 2021 | 9th Dec 2021 | 29th Nov 2021 | GCC 14.1 | |
| 108 | +| Macros and cfg expansion | 100% | 100% | - | 1st Dec 2021 | 31st Mar 2022 | 28th Mar 2022 | GCC 14.1 | |
| 109 | +| Imports and Visibility | 100% | 100% | - | 29th Mar 2022 | 13th Jul 2022 | 27th May 2022 | GCC 14.1 | |
| 110 | +| Const Generics | 100% | 100% | - | 30th May 2022 | 10th Oct 2022 | 17th Oct 2022 | GCC 14.1 | |
| 111 | +| Initial upstream patches | 100% | 100% | - | 10th Oct 2022 | 13th Nov 2022 | 13th Nov 2022 | GCC 14.1 | |
| 112 | +| Upstream initial patchset | 100% | 100% | - | 13th Nov 2022 | 13th Dec 2022 | 19th Dec 2022 | GCC 14.1 | |
| 113 | +| Update GCC's master branch | 100% | 100% | - | 1st Jan 2023 | 21st Feb 2023 | 3rd Mar 2023 | GCC 14.1 | |
| 114 | +| Final set of upstream patches | 100% | 100% | - | 16th Nov 2022 | 1st May 2023 | 30th Apr 2023 | GCC 14.1 | |
| 115 | +| Borrow Checking 1 | 100% | 100% | - | TBD | 8th Jan 2024 | 15th Aug 2023 | GCC 14.1 | |
| 116 | +| Procedural Macros 1 | 100% | 100% | - | 13th Apr 2023 | 6th Aug 2023 | 6th Aug 2023 | GCC 14.1 | |
| 117 | +| GCC 13.2 Release | 100% | 100% | - | 13th Apr 2023 | 22nd Jul 2023 | 15th Jul 2023 | GCC 14.1 | |
| 118 | +| GCC 14 Stage 3 | 100% | 100% | - | 1st Sep 2023 | 20th Sep 2023 | 1st Nov 2023 | GCC 14.1 | |
| 119 | +| GCC 14.1 Release | 100% | 100% | - | 2nd Jan 2024 | 2nd Jun 2024 | 15th Apr 2024 | GCC 14.1 | |
| 120 | +| format_args!() support | 100% | 100% | - | 15th Feb 2024 | - | 1st Apr 2024 | GCC 14.1 | |
| 121 | +| GCC 14.2 | 100% | 100% | - | 7th Jun 2024 | 15th Jun 2024 | 15th Jun 2024 | GCC 14.2 | |
| 122 | +| GCC 15.1 | 100% | 100% | - | 21st Jun 2024 | 31st Jun 2024 | 1st Jul 2024 | GCC 15.1 | |
| 123 | +| Unhandled attributes | 100% | 100% | - | 1st Jul 2024 | 15th Aug 2024 | 15th Aug 2024 | GCC 15.1 | |
| 124 | +| Deref and DerefMut improvements | 100% | 100% | - | 28th Sep 2024 | 25th Oct 2024 | 28th Dec 2024 | GCC 15.1 | |
| 125 | +| Indexing fixes | 100% | 100% | - | 21st Jul 2024 | 25th Dec 2024 | 15th Nov 2024 | GCC 15.1 | |
| 126 | +| Iterator fixes | 100% | 100% | - | 21st Jul 2024 | 25th Dec 2024 | 15th Nov 2024 | GCC 15.1 | |
| 127 | + |
| 128 | +*** Risks |
| 129 | + |
| 130 | +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. |
| 131 | + |
| 132 | +| Risk | Impact (1-3) | Likelihood (0-10) | Risk (I * L) | Mitigation | |
| 133 | +|-----------------------------------------------+--------------+-------------------+--------------+-----------------------------------------------------------------| |
| 134 | +| Missing features for GCC 15.1 deadline | 2 | 0 | 0 | Start working on required features as early as July (6mo ahead) | |
| 135 | + |
| 136 | +** Planned Activities |
| 137 | + |
| 138 | +- Finish all built-in derive macros |
| 139 | +- Start work on error propagation expression |
| 140 | +- Continue fixing remaining failing test for name resolution 2.0 |
| 141 | + |
| 142 | +** Detailed changelog |
0 commit comments