diff --git a/2026/2026-08-10-report.org b/2026/2026-08-10-report.org new file mode 100644 index 0000000..b719efe --- /dev/null +++ b/2026/2026-08-10-report.org @@ -0,0 +1,164 @@ +#+title: Weekly report for 3rd of August to 10th of August 2026 +#+author: Philip Herron, Pierre-Emmanuel Patry, Arthur Cohen +#+date: 2026-08-10 + +** Overview + +Thanks again to [[https://opensrcsec.com/][Open Source Security, inc]] and [[https://www.embecosm.com/][Embecosm]] for their ongoing support for this project. + +- GSOC students are beginning to wrap up their contributions +- Huge performance boost with new dfs cache + +** Completed Activities + +- gccrs: Backport cfg_select! macro [[https://github.com/Rust-GCC/gccrs/pull/4714][PR4714]] +- gccrs: Separate argument and function body drop scopes - #4718 [[https://github.com/Rust-GCC/gccrs/pull/4718][PR4718]] +- forever-stack: Add dfs_cache [[https://github.com/Rust-GCC/gccrs/pull/4751][PR4715]] +- Sync with upstream (2026-08-03): 3db020600d47180dc097f405d1dd7cfcafe24d43 [[https://github.com/Rust-GCC/gccrs/pull/4755][PR4755]] +- gccrs: Make ExpandVisitor visit more attributes [[https://github.com/Rust-GCC/gccrs/pull/4746][PR4746]] +- gccrs: add double negations lint [[https://github.com/Rust-GCC/gccrs/pull/4643][PR4643]] +- derive: Do not add default type parameters on derived impls [[https://github.com/Rust-GCC/gccrs/pull/4759][PR4759]] +- Sync with upstream (2026-08-07): 8d0676db179aa31207bc4dd29e1c310823988f4b [[https://github.com/Rust-GCC/gccrs/pull/4772][PR4772]] +- Add freeze lang item [[https://github.com/Rust-GCC/gccrs/pull/4770][PR4770]] +- Better handle tool attributes [[https://github.com/Rust-GCC/gccrs/pull/4752][PR4752]] +- Add va_list lang item [[https://github.com/Rust-GCC/gccrs/pull/4771][PR4771]] +- Desugar APITs on function items [[https://github.com/Rust-GCC/gccrs/pull/4769][PR4769]] +- gccrs: Fix unused_assignment check logic [[https://github.com/Rust-GCC/gccrs/pull/4756][PR4756]] +- Add lang pin/unpin [[https://github.com/Rust-GCC/gccrs/pull/4720][PR4720]] +- resolve: Fix ignored self in grouped glob imports - #4750 [[https://github.com/Rust-GCC/gccrs/pull/4750][PR4750]] + +*** Contributors this week + +- [[https://github.com/Polygonalr][Zhi Heng]] +- [[https://github.com/aimannajjar][Aiman Najjar]] +- [[https://github.com/powerboat9][Owen Avery]] +- [[https://github.com/Lishin1215][Janet Chien]] +- [[https://github.com/lucasly-ba][Lucas Ly Ba]] +- [[https://github.com/CohenArthur][Arthur Cohen]] + + +*** Overall Task Status + +| Category | Last Week | This Week | Delta | +|-------------+------------+------------+-------| +| TODO | 437 | 440 | +3 | +| In Progress | 122 | 122 | - | +| Completed | 1286 | 1293 | +7 | + +*** Bugs + +| Category | Last Week | This Week | Delta | +|-------------+------------+------------+-------| +| TODO | 210 | 210 | - | +| In Progress | 52 | 52 | - | +| Completed | 634 | 634 | - | + +*** Test Cases + +| TestCases | Last Week | This Week | Delta | +|-----------+------------+------------+-------| +| Passing | 11325 | 11342 | +17 | +| Failed | - | - | - | +| XFAIL | 78 | 85 | - | +| XPASS | - | - | - | + +*** Milestones Progress + +Here is the list of overarching milestones gccrs is currently targeting. We'll use the acronym in the following milestone tables, in the column named "OA Milest.". + +| Milestone | Description | Acronym | +|------------------------------------|----------------------------------------------------------------------------------|---------| +| Embedded Rust 1.49 compiler 0.1 | The compiler is able to compile embedded Rust code | EC 0.1 | +| Embedded Rust 1.49 compiler 1.0 | The compiler is able to compile embedded Rust code and produce valid executables | EC 1.0 | +| Rust-for-Linux compiler 0.1 | The compiler is able to compile the Linux kernel | LC 0.1 | +| Rust-for-Linux compiler 1.0 | The compiler is able to compile the Linux kernel and produce a runnable kernel | LC 1.0 | +| General purpose Rust 1.49 compiler | The compiler passes the Rust 1.49 testsuite, and handles general purpose code | GC | + + +| Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | OA Milest. | +|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| +| Rust-for-Linux | 40% | 45% | +5% | 1st Nov 2025 | - | - | LC 0.1 | +| Full core Late nameres issues | 28% | 100% | +72% | 1st Dec 2025 | - | - | EC 0.1 | +| Full core Early nameres issues | 100% | 100% | - | 1st Dec 2025 | - | - | EC 0.1 | +| Full core Typecheck issues | 12% | 12% | - | 21st Jan 2026 | - | - | EC 0.1 | +| Full core Lowering issues | 0% | 0% | - | 3rd Aug 2026 | - | 17 Aug 2026 | EC 0.1 | +| RfL build_error | 100% | 100% | - | - | - | - | LC 0.1 | +| RfL compiler_builtins | 100% | 100% | - | - | - | - | LC 0.1 | +| RfL ffi | 40% | 40% | - | - | - | - | LC 0.1 | +| RfL macros | 0% | 0% | - | - | - | - | LC 0.1 | +| RfL uapi | 0% | 0% | - | - | - | - | LC 0.1 | +| RfL main kernel files | 0% | 0% | - | - | - | - | LC 0.1 | + + +| Upcoming Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | OA Milest. | +|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------| +| Unstable RfL features | 0% | 0% | - | 7th Jan 2025 | - | 1st Aug 2025 | LC 0.1 | +| Generic Associated Types | 0% | 0% | - | 15th Mar 2025 | - | 15th Jun 2025 | LC 0.1 | +| RfL const generics | 0% | 0% | - | 1st May 2025 | - | 15th Jun 2025 | LC 0.1 | +| frontend plugin hooks | 0% | 0% | - | 15th May 2025 | - | 7th Jul 2025 | GC | +| Handling the testsuite issues | 0% | 0% | - | 15th Sep 2024 | - | 15th Sep 2025 | GC | +| main shim | 0% | 0% | - | 28th Jul 2025 | - | 15th Sep 2025 | GC | +| Final core attributes | 0% | 0% | - | | - | | EC 0.1 | +| Core nightly features | 0% | 0% | - | | - | | EC 0.1 | +| Defered inference | 0% | 0% | - | | - | | EC 0.1 | +| Fn traits fixes | 0% | 0% | - | | - | | EC 0.1 | +| Recursive types | 0% | 0% | - | | - | | EC 0.1 | +| Drop | 0% | 0% | - | | - | | EC 1.0 | +| Pin, PinInit | 0% | 0% | - | | - | | EC 1.0 | + +| 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 + +- Continue work on missing lowering steps +- Continue work on extern crate support + +** Detailed changelog