As part of my on going work into generics this milestone breaks down into 3 major pieces of work:
ADT (algebraic data type) with generic params
Function with generic params
Impl blocks with generic params
The first piece is in and merged the 2nd one is an open PR over on PR297. This implements recursive generics and generic functions. The branch is currently being cleaned up before it will be merged. This has been an effort of several weeks to get right. Aside from these three pieces of work, there are smaller tasks in generics in terms of parameter binding which will be done once these sub-tasks are done first.
The project has received many contributions which has been very exciting, but as this project is destined to be upstream with GCC we do have to follow the rules with regards to copyright assignment (https://gcc.gnu.org/contribute.html). There are several PR’s that have been stalled waiting for copyright assignment which we hope to merge as soon as the paperwork is signed: