Skip to content

Commit 735efc7

Browse files
committed
2023-05-monthly: Add May 2023 monthly report
1 parent 95e7b1f commit 735efc7

File tree

1 file changed

+225
-0
lines changed

1 file changed

+225
-0
lines changed
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
---
2+
layout: post
3+
title: "May 2023 Monthly report"
4+
author: Philip Herron and Arthur Cohen
5+
tags:
6+
- monthly-report
7+
---
8+
9+
## Overview
10+
11+
Thanks again to [Open Source Security, inc](https://opensrcsec.com/) and
12+
[Embecosm](https://www.embecosm.com/) for their ongoing support for this
13+
project.
14+
15+
### Milestone Progress
16+
17+
The GCC 13.2 release date is approaching, and we are hard at work trying
18+
to get `core` integrated to `gccrs`. We are progressing a lot on our AST
19+
pipeline, with many contributions from external contributors as well as
20+
work from Pierre-Emmanuel and Arthur. We are still trying to figure out
21+
some of the steps necessary for integrating the Rust 1.49 version of
22+
`core` with GCC's build system, and how to properly submit these
23+
patches upstream in time for reviewing. This year's Google Summer of
24+
Code is also starting, with our two students getting started on their
25+
projects this week. This work will be happening in public on our GitHub
26+
repository and our Zulip chat, which you can join for updates.
27+
28+
We are also getting things ready for submitting a talk to EuroRust in
29+
October - if you have any subject you'd like us to talk about when we
30+
meet there, feel free to send us a message or email! The subject of the
31+
talk is not fully defined yet and we are open to all ideas.
32+
33+
### Community call
34+
35+
We will have our next monthly community call on the 12th of June 2023.
36+
You can subscribe to our calendar to see when the next one will be held.
37+
The call is open to everyone, even if you would just like to sit-in and
38+
listen. You can also subscribe to our
39+
[mailing-list](https://gcc.gnu.org/mailman/listinfo/gcc-rust) or join
40+
our [Zulip chat](https://gcc-rust.zulipchat.com) to be notified of
41+
upcoming events.
42+
43+
- Calendar ID:
44+
7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894@group.calendar.google.com
45+
- [Google calendar
46+
link](https://calendar.google.com/calendar/embed?src=7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894%40group.calendar.google.com)
47+
- [iCal
48+
link](https://calendar.google.com/calendar/ical/7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894%40group.calendar.google.com/public/basic.ics)
49+
50+
## Completed Activities
51+
52+
- derive: Add proper derive(Clone) for unions
53+
[PR2256](https://github.com/rust-gcc/gccrs/pull/2256)
54+
- derive: Add \#\[derive(Clone)\] for regular structs
55+
[PR2255](https://github.com/rust-gcc/gccrs/pull/2255)
56+
- gccrs: get rid of useless helper class and fix header usage
57+
[PR2254](https://github.com/rust-gcc/gccrs/pull/2254)
58+
- Add \#\[derive(Copy)\] support
59+
[PR2253](https://github.com/rust-gcc/gccrs/pull/2253)
60+
- macro-invoc-lexer: Add Copyright header.
61+
[PR2251](https://github.com/rust-gcc/gccrs/pull/2251)
62+
- Properly match delimiters
63+
[PR2249](https://github.com/rust-gcc/gccrs/pull/2249)
64+
- gccrs: Fix cast site to not miss type-unifications
65+
[PR2248](https://github.com/rust-gcc/gccrs/pull/2248)
66+
- Add missing name-resolution and hir lowering to Stmts
67+
[PR2247](https://github.com/rust-gcc/gccrs/pull/2247)
68+
- Fix handling of single fragments in repetitions
69+
[PR2243](https://github.com/rust-gcc/gccrs/pull/2243)
70+
- Avoid invalid metavariable substitutions
71+
[PR2241](https://github.com/rust-gcc/gccrs/pull/2241)
72+
- Add Spans to procedural macros
73+
[PR2240](https://github.com/rust-gcc/gccrs/pull/2240)
74+
- gccrs: remove stray semicolon
75+
[PR2237](https://github.com/rust-gcc/gccrs/pull/2237)
76+
- Bug fixes autoderef cycles using derefs
77+
[PR2235](https://github.com/rust-gcc/gccrs/pull/2235)
78+
- enr: Cleanup \#\[macro_use\] accumulation
79+
[PR2231](https://github.com/rust-gcc/gccrs/pull/2231)
80+
- Only check first item of cfg_attr attribute as predicate
81+
[PR2230](https://github.com/rust-gcc/gccrs/pull/2230)
82+
- Fix macro resolutions in middle of multiple nested
83+
macro_use modules
84+
[PR2226](https://github.com/rust-gcc/gccrs/pull/2226)
85+
- Add operator== for Optional.
86+
[PR2224](https://github.com/rust-gcc/gccrs/pull/2224)
87+
- Handle keyword metavariables during macro expansion
88+
[PR2221](https://github.com/rust-gcc/gccrs/pull/2221)
89+
- Change return type of `token_id_keyword_string`
90+
[PR2219](https://github.com/rust-gcc/gccrs/pull/2219)
91+
- derive: Add base for builtin derives and \#\[derive(Clone)\]
92+
[PR2216](https://github.com/rust-gcc/gccrs/pull/2216)
93+
- ast: Add `outer_attrs` to all `Item`s
94+
[PR2215](https://github.com/rust-gcc/gccrs/pull/2215)
95+
- dump: Dump `TupleIndexExpr`s
96+
[PR2214](https://github.com/rust-gcc/gccrs/pull/2214)
97+
- Improve Optional\<T\> implementation
98+
[PR2213](https://github.com/rust-gcc/gccrs/pull/2213)
99+
- Improve Optional\<T&\> implementation
100+
[PR2212](https://github.com/rust-gcc/gccrs/pull/2212)
101+
- Allow hashing Optional\<T\>
102+
[PR2211](https://github.com/rust-gcc/gccrs/pull/2211)
103+
- ast: Propagate type suffix
104+
[PR2210](https://github.com/rust-gcc/gccrs/pull/2210)
105+
- Address invalid little-endian-only testcases
106+
[PR2208](https://github.com/rust-gcc/gccrs/pull/2208)
107+
- Rework expression statement parsing
108+
[PR2206](https://github.com/rust-gcc/gccrs/pull/2206)
109+
- libproc_macro: Change rust literal internals
110+
[PR2204](https://github.com/rust-gcc/gccrs/pull/2204)
111+
- Add missing coercion site logic
112+
[PR2202](https://github.com/rust-gcc/gccrs/pull/2202)
113+
- Handle keywords in macro fragments
114+
[PR2200](https://github.com/rust-gcc/gccrs/pull/2200)
115+
- Fix "default unsafe fn …" parsing
116+
[PR2199](https://github.com/rust-gcc/gccrs/pull/2199)
117+
- Fix ICE with unit expressions
118+
[PR2197](https://github.com/rust-gcc/gccrs/pull/2197)
119+
- gccrs: Add missing compile locals for constants and statics
120+
[PR2196](https://github.com/rust-gcc/gccrs/pull/2196)
121+
- Parse AST::AttrInputMacro attributes
122+
[PR2185](https://github.com/rust-gcc/gccrs/pull/2185)
123+
- Add AST::AttrInputMacro
124+
[PR2177](https://github.com/rust-gcc/gccrs/pull/2177)
125+
- Make key and key/value config options seperate
126+
[PR2175](https://github.com/rust-gcc/gccrs/pull/2175)
127+
- Fix tail expression stripping
128+
[PR2156](https://github.com/rust-gcc/gccrs/pull/2156)
129+
- Modularize libproc macro
130+
[PR2153](https://github.com/rust-gcc/gccrs/pull/2153)
131+
- builtin: Cleanup handling of builtin macros
132+
[PR2152](https://github.com/rust-gcc/gccrs/pull/2152)
133+
- Proc macro type
134+
[PR2150](https://github.com/rust-gcc/gccrs/pull/2150)
135+
- Fix out of bounds indexing while expanding macros with repetition
136+
[PR2141](https://github.com/rust-gcc/gccrs/pull/2141)
137+
- Handle nested \#\[macro_use\] modules properly
138+
[PR2131](https://github.com/rust-gcc/gccrs/pull/2131)
139+
- Added HIR::InlineAsm
140+
[PR1886](https://github.com/rust-gcc/gccrs/pull/1886)
141+
142+
### Contributors this month
143+
144+
- [Matthew Jasper](https://github.com/matthewjasper) (new
145+
contributor!)
146+
- [Owen Avery](https://github.com/powerboat9)
147+
- [Pierre-Emmanuel Patry](https://github.com/P-E-P)
148+
- [David Malcolm](https://github.com/davidmalcolm)
149+
- [mvvsmk](https://github.com/mvvsmk)
150+
151+
### Overall Task Status
152+
153+
| Category | Last Month | This Month | Delta |
154+
|-------------|------------|------------|-------|
155+
| TODO | 219 | 227 | +8 |
156+
| In Progress | 49 | 50 | +1 |
157+
| Completed | 639 | 670 | +31 |
158+
159+
### Test Cases
160+
161+
| TestCases | Last Month | This Month | Delta |
162+
|-----------|------------|------------|-------|
163+
| Passing | 7737 | 7924 | +187 |
164+
| Failed | \- | \- | \- |
165+
| XFAIL | 53 | 53 | +13 |
166+
| XPASS | \- | \- | \- |
167+
168+
### Bugs
169+
170+
| Category | Last Month | This Month | Delta |
171+
|-------------|------------|------------|-------|
172+
| TODO | 66 | 72 | +6 |
173+
| In Progress | 22 | 26 | +4 |
174+
| Completed | 304 | 327 | +23 |
175+
176+
### Milestones Progress
177+
178+
Note that the intrinsics milestone percentage on github is not
179+
representative: It shows a 73% completion rate, but does not take into
180+
account the tracking issues with dozens of unresolved items. Thus the
181+
percentage is computed using the sum of issues and tracked items done
182+
divided by the sums of issues and tracked items overall. Similarly, the
183+
Update GCC's master branch milestone contains a [tracking
184+
issue](https://github.com/rust-gcc/gccrs/issues/1705) containing over
185+
200 tasks. The percentage shown here takes this into account.
186+
187+
| Milestone | Last Week | This Week | Delta | Start Date | Completion Date | Target |
188+
|-----------------------------------|-----------|-----------|-------|---------------|-----------------|---------------|
189+
| Data Structures 1 - Core | 100% | 100% | \- | 30th Nov 2020 | 27th Jan 2021 | 29th Jan 2021 |
190+
| Control Flow 1 - Core | 100% | 100% | \- | 28th Jan 2021 | 10th Feb 2021 | 26th Feb 2021 |
191+
| Data Structures 2 - Generics | 100% | 100% | \- | 11th Feb 2021 | 14th May 2021 | 28th May 2021 |
192+
| Data Structures 3 - Traits | 100% | 100% | \- | 20th May 2021 | 17th Sep 2021 | 27th Aug 2021 |
193+
| Control Flow 2 - Pattern Matching | 100% | 100% | \- | 20th Sep 2021 | 9th Dec 2021 | 29th Nov 2021 |
194+
| Macros and cfg expansion | 100% | 100% | \- | 1st Dec 2021 | 31st Mar 2022 | 28th Mar 2022 |
195+
| Imports and Visibility | 100% | 100% | \- | 29th Mar 2022 | 13th Jul 2022 | 27th May 2022 |
196+
| Const Generics | 100% | 100% | \- | 30th May 2022 | 10th Oct 2022 | 17th Oct 2022 |
197+
| Initial upstream patches | 100% | 100% | \- | 10th Oct 2022 | 13th Nov 2022 | 13th Nov 2022 |
198+
| Upstream initial patchset | 100% | 100% | \- | 13th Nov 2022 | 13th Dec 2022 | 19th Dec 2022 |
199+
| Update GCC's master branch | 100% | 100% | \- | 1st Jan 2023 | 21st Feb 2023 | 3rd Mar 2023 |
200+
| Final set of upstream patches | 96% | 100% | +4% | 16th Nov 2022 | 1st May 2023 | 30th Apr 2023 |
201+
| Borrow Checking 1 | 0% | 0% | \- | TBD | \- | 15th Aug 2023 |
202+
| AST Pipeline for libcore 1.49 | 20% | 51% | +31% | 13th Apr 2023 | \- | 1st Jul 2023 |
203+
| HIR Pipeline for libcore 1.49 | 40% | 53% | +13% | 13th Apr 2023 | \- | TBD |
204+
| Procedural Macros 1 | 45% | 70% | +25% | 13th Apr 2023 | \- | 6th Aug 2023 |
205+
| GCC 13.2 Release | 0% | 26% | +26% | 13th Apr 2023 | \- | 15th Jul 2023 |
206+
| GCC 14 Stage 3 | 0% | 0% | \- | TBD | \- | 1st Nov 2023 |
207+
| Rustc Testsuite Prerequisistes | 0% | 0% | \- | TBD | \- | 1st Sep 2023 |
208+
| Intrinsics and builtins | 18% | 18% | \- | 6th Sep 2022 | \- | TBD |
209+
| Const Generics 2 | 0% | 0% | \- | TBD | \- | TBD |
210+
| Rust-for-Linux compilation | 0% | 0% | \- | TBD | \- | TBD |
211+
212+
### Testing project
213+
214+
The testing project is on hold as we try and figure out some of the
215+
issues we're running into with GitHub and our various automations around
216+
it.
217+
218+
## Planned Activities
219+
220+
- Look at remaining AST issues for compiling `core`
221+
- Fix remaining type systems bugs for `core` 1.49
222+
- Look at procedural macro name resolution
223+
- Look at moving imports name resolution to Early Name Resolver
224+
225+
## Detailed changelog

0 commit comments

Comments
 (0)