|
| 1 | +#+title: Weekly report for 7th of August 2023 to 21st of August 2023 |
| 2 | +#+author: Philip Herron, Pierre-Emmanuel Patry, Arthur Cohen |
| 3 | +#+date: 2023-08-21 |
| 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 | +*** Milestone Progress |
| 10 | + |
| 11 | +1. Late name resolution underway |
| 12 | + 1. Good work from PE on complex macro-invocation-expands-to-macro-definition case |
| 13 | + 2. Resolve `use` statements |
| 14 | + 3. Fill out existing mappings |
| 15 | + 4. Figured out last little bit of info for what is needed by the typechecker |
| 16 | +2. GSoC is almost over! |
| 17 | + 1. More errors, contributor will keep going after GSoC ends, super succesful |
| 18 | + 2. Deep into second part of the project, adding punycode encoding to our name mangling algorithm, super useful |
| 19 | +3. 40 PRs merged in two weeks, quite nice - mostly due to GSoC |
| 20 | +4. Lots of cleanup in our backend too |
| 21 | + |
| 22 | +** Completed Activities |
| 23 | + |
| 24 | +- [E0164] Neither tuple struct nor tuple variant used as a pattern [[https://github.com/rust-gcc/gccrs/pull/2565][PR2565]] |
| 25 | +- [E0391] Detected type dependency cycle [[https://github.com/rust-gcc/gccrs/pull/2561][PR2561]] |
| 26 | +- [E0034] found more than one items for method [[https://github.com/rust-gcc/gccrs/pull/2560][PR2560]] |
| 27 | +- [E0535] Unknown argument given to inline attribute [[https://github.com/rust-gcc/gccrs/pull/2559][PR2559]] |
| 28 | +- [E0534] inline attribute was malformed [[https://github.com/rust-gcc/gccrs/pull/2558][PR2558]] |
| 29 | +- Non-allowed default type paramters [[https://github.com/rust-gcc/gccrs/pull/2556][PR2556]] |
| 30 | +- Handle gengtype annotations in ```rust-constexpr.cc``` [[https://github.com/rust-gcc/gccrs/pull/2554][PR2554]] |
| 31 | +- gccrs: improve name mangling hash [[https://github.com/rust-gcc/gccrs/pull/2551][PR2551]] |
| 32 | +- gccrs: simplify matching possible candidates [[https://github.com/rust-gcc/gccrs/pull/2550][PR2550]] |
| 33 | +- gccrs: remove horrible hack in solving complex generics on impl blocks [[https://github.com/rust-gcc/gccrs/pull/2549][PR2549]] |
| 34 | +- gccrs: Fix legacy mangling to use Unicode escape [[https://github.com/rust-gcc/gccrs/pull/2547][PR2547]] |
| 35 | +- Add missing ```CHECKING_P``` guard to ```rust-punycode.cc``` [[https://github.com/rust-gcc/gccrs/pull/2546][PR2546]] |
| 36 | +- gccrs: Cleanup HIR dump [[https://github.com/rust-gcc/gccrs/pull/2544][PR2544]] |
| 37 | +- gccrs: Adjust HIR dump for IfExpr and IfExprConseqElse [[https://github.com/rust-gcc/gccrs/pull/2543][PR2543]] |
| 38 | +- Support for `rich-loc` & `errorcode` in parser & expansion errors [[https://github.com/rust-gcc/gccrs/pull/2542][PR2542]] |
| 39 | +- Basic formatting/comment fixes [[https://github.com/rust-gcc/gccrs/pull/2540][PR2540]] |
| 40 | +- [E0107] Wrong number of generic argument [[https://github.com/rust-gcc/gccrs/pull/2539][PR2539]] |
| 41 | +- [E0015] Use of non-const inside const [[https://github.com/rust-gcc/gccrs/pull/2538][PR2538]] |
| 42 | +- [E0658] Use of mutable reference in constant functions. [[https://github.com/rust-gcc/gccrs/pull/2536][PR2536]] |
| 43 | +- Add punycode encoding to v0 mangling [[https://github.com/rust-gcc/gccrs/pull/2535][PR2535]] |
| 44 | +- [E0412] used type name not in scope [[https://github.com/rust-gcc/gccrs/pull/2534][PR2534]] |
| 45 | +- Implement punycode encoding [[https://github.com/rust-gcc/gccrs/pull/2533][PR2533]] |
| 46 | +- Fix a warning about extra semicolon [[https://github.com/rust-gcc/gccrs/pull/2532][PR2532]] |
| 47 | +- [E0753] Use of inner doc comment in invalid context [[https://github.com/rust-gcc/gccrs/pull/2531][PR2531]] |
| 48 | +- Move Codepoint to gcc/rust/util/ [[https://github.com/rust-gcc/gccrs/pull/2530][PR2530]] |
| 49 | +- Add type annotation to make-rust-unicode-data.py [[https://github.com/rust-gcc/gccrs/pull/2529][PR2529]] |
| 50 | +- `[E0054-E0604-E0620-E0606]` TypeCasting ErrorCodes [[https://github.com/rust-gcc/gccrs/pull/2528][PR2528]] |
| 51 | +- [E0380] Use of auto trait with method or associated item [[https://github.com/rust-gcc/gccrs/pull/2527][PR2527]] |
| 52 | +- [E0541] Use of unknown meta item [[https://github.com/rust-gcc/gccrs/pull/2526][PR2526]] |
| 53 | +- [E0308] array misamatch types [[https://github.com/rust-gcc/gccrs/pull/2525][PR2525]] |
| 54 | +- [E0282] type annotations needed [[https://github.com/rust-gcc/gccrs/pull/2524][PR2524]] |
| 55 | +- macro-expand: Keep optional references to last_{def, invoc} [[https://github.com/rust-gcc/gccrs/pull/2520][PR2520]] |
| 56 | +- [E0703] Use of Invalid ABI [[https://github.com/rust-gcc/gccrs/pull/2519][PR2519]] |
| 57 | +- diagnostics: Fix mismatch between new[] and free [[https://github.com/rust-gcc/gccrs/pull/2518][PR2518]] |
| 58 | +- Fix lexer exponential on tuple [[https://github.com/rust-gcc/gccrs/pull/2515][PR2515]] |
| 59 | +- Remove ```Backend::bool_type``` and ```Backend::char_type``` [[https://github.com/rust-gcc/gccrs/pull/2506][PR2506]] |
| 60 | +- Move ```Backend::error_variable``` to ```Bvariable::error_variable``` [[https://github.com/rust-gcc/gccrs/pull/2505][PR2505]] |
| 61 | +- Remove unneeded references to ```this``` in backend methods [[https://github.com/rust-gcc/gccrs/pull/2503][PR2503]] |
| 62 | +- Use ```MacroInvocLexerBase``` in ```ProcMacroInvocLexer``` [[https://github.com/rust-gcc/gccrs/pull/2498][PR2498]] |
| 63 | +- Normalize all identifiers to NFC [[https://github.com/rust-gcc/gccrs/pull/2489][PR2489]] |
| 64 | + |
| 65 | +*** Contributors this week |
| 66 | + |
| 67 | +- [[https://github.com/dkm][Marc Poulhiès]] |
| 68 | +- [[https://github.com/mahadmuhammad][Mahad Muhammad]] |
| 69 | +- [[https://github.com/tamaroning][Raiki Tamura]] |
| 70 | +- [[https://github.com/powerboat9][Owen Avery]] |
| 71 | + |
| 72 | +*** Overall Task Status |
| 73 | + |
| 74 | +| Category | Last Week | This Week | Delta | |
| 75 | +|-------------+-----------+-----------+-------| |
| 76 | +| TODO | 255 | 259 | +4 | |
| 77 | +| In Progress | 55 | 56 | +1 | |
| 78 | +| Completed | 708 | 730 | +22 | |
| 79 | + |
| 80 | +*** Test Cases |
| 81 | + |
| 82 | +| TestCases | Last Week | This Week | Delta | |
| 83 | +|-----------+-----------+-----------+-------| |
| 84 | +| Passing | 8116 | 8129 | +22 | |
| 85 | +| Failed | - | - | - | |
| 86 | +| XFAIL | 69 | 69 | - | |
| 87 | +| XPASS | - | - | - | |
| 88 | + |
| 89 | +*** Bugs |
| 90 | + |
| 91 | +| Category | Last Week | This Week | Delta | |
| 92 | +|-------------+-----------+-----------+-------| |
| 93 | +| TODO | 93 | 95 | +2 | |
| 94 | +| In Progress | 25 | 29 | +4 | |
| 95 | +| Completed | 349 | 359 | +10 | |
| 96 | + |
| 97 | +*** Milestones Progress |
| 98 | + |
| 99 | +Note that the intrinsics milestone percentage on github is not representative: It shows a 73% completion rate, but does not take into account the tracking issues with dozens of unresolved items. |
| 100 | +Thus the percentage is computed using the sum of issues and tracked items done divided by the sums of issues and tracked items overall. |
| 101 | + |
| 102 | +| Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | |
| 103 | +|-----------------------------------+------------+------------+-------+---------------+-----------------+---------------| |
| 104 | +| Data Structures 1 - Core | 100% | 100% | - | 30th Nov 2020 | 27th Jan 2021 | 29th Jan 2021 | |
| 105 | +| Control Flow 1 - Core | 100% | 100% | - | 28th Jan 2021 | 10th Feb 2021 | 26th Feb 2021 | |
| 106 | +| Data Structures 2 - Generics | 100% | 100% | - | 11th Feb 2021 | 14th May 2021 | 28th May 2021 | |
| 107 | +| Data Structures 3 - Traits | 100% | 100% | - | 20th May 2021 | 17th Sep 2021 | 27th Aug 2021 | |
| 108 | +| Control Flow 2 - Pattern Matching | 100% | 100% | - | 20th Sep 2021 | 9th Dec 2021 | 29th Nov 2021 | |
| 109 | +| Macros and cfg expansion | 100% | 100% | - | 1st Dec 2021 | 31st Mar 2022 | 28th Mar 2022 | |
| 110 | +| Imports and Visibility | 100% | 100% | - | 29th Mar 2022 | 13th Jul 2022 | 27th May 2022 | |
| 111 | +| Const Generics | 100% | 100% | - | 30th May 2022 | 10th Oct 2022 | 17th Oct 2022 | |
| 112 | +| Initial upstream patches | 100% | 100% | - | 10th Oct 2022 | 13th Nov 2022 | 13th Nov 2022 | |
| 113 | +| Upstream initial patchset | 100% | 100% | - | 13th Nov 2022 | 13th Dec 2022 | 19th Dec 2022 | |
| 114 | +| Update GCC's master branch | 100% | 100% | - | 1st Jan 2023 | 21st Feb 2023 | 3rd Mar 2023 | |
| 115 | +| Final set of upstream patches | 100% | 100% | - | 16th Nov 2022 | 1st May 2023 | 30th Apr 2023 | |
| 116 | +| Borrow Checking 1 | 0% | 0% | - | TBD | - | 15th Aug 2023 | |
| 117 | +| AST Pipeline for libcore 1.49 | 76% | 77% | +1% | 13th Apr 2023 | - | 1st Jul 2023 | |
| 118 | +| HIR Pipeline for libcore 1.49 | 67% | 67% | - | 13th Apr 2023 | - | TBD | |
| 119 | +| Procedural Macros 1 | 85% | 85% | - | 13th Apr 2023 | - | 6th Aug 2023 | |
| 120 | +| GCC 13.2 Release | 100% | 100% | - | 13th Apr 2023 | 18th Jul 2023 | 15th Jul 2023 | |
| 121 | +| GCC 14 Stage 3 | 0% | 0% | - | TBD | - | 1st Nov 2023 | |
| 122 | +| core 1.49 functionality [AST] | 4% | 0% | - | 1st Jul 2023 | - | 1st Nov 2023 | |
| 123 | +| Rustc Testsuite Prerequisistes | 0% | 0% | - | TBD | - | 1st Sep 2023 | |
| 124 | +| Intrinsics and builtins | 18% | 18% | - | 6th Sep 2022 | - | TBD | |
| 125 | +| Const Generics 2 | 0% | 0% | - | TBD | - | TBD | |
| 126 | +| Rust-for-Linux compilation | 0% | 0% | - | TBD | - | TBD | |
| 127 | + |
| 128 | +*** Risks |
| 129 | + |
| 130 | +| Risk | Impact (1-3) | Likelihood (0-10) | Risk (I * L) | Mitigation | |
| 131 | +|-------------------------------------+--------------+-------------------+--------------+-------------------------------------| |
| 132 | +| `core` and `std` missing for GCC 14 | 2 | 6 | 12 | Look at necessary unstable features | |
| 133 | + |
| 134 | +** Planned Activities |
| 135 | + |
| 136 | +- Fix remaining bits or procedural macro name resolution. |
| 137 | +- Name resolve macro name that have not yet been expanded (nested macro definition) |
| 138 | +- Punycode implementation |
| 139 | + |
| 140 | +** Detailed changelog |
0 commit comments