GCC Rust Weekly Status Report 6 – Generics WIP

In this weeks status report, multiple pieces of work are in progress. You can find on the repo a branch for adding generics to Algebraic data types. To implement Generics, two significant pieces of work are needed: a ParamTy, a placeholder TyTy to reference of Generic Argument, the other is a Substitution Mapping that allows […]

GCC Rust Weekly Status Report 5 – Loop Expressions

Control flow 1 Milestone as been completed this means the front-end can now handle Block expressions, Loop and While Loop expressions, as well as method resolution. The remaining “For” loop construct has been left out for now. This requires Iterators that will need generics and traits to be implemented first. Since the milestone has been […]

GCC Rust – Weekly Status Report – 1st to 8th Feb 2021

The control flow one milestone is filling in the gaps in basic rust compilation such as impl blocks, method resolution, block expressions and loops. When the PR for block expressions was merged regressions in implicit returns were found via manual testing. The automated test suite failed to pick this up due to a bug in […]

GCC Rust – Weekly Status Report – 18th to 25th Jan 2021

The completed activities here are the final building blocks to complete the remaining tasks for the first planned milestone. In order to support the size type rules on ArrayIndexExpressions and allow for code such as: The LiteralExpression of ‘1’ resolves to an IntegralInferenceVariable which when unified as part of the HM algorithm resolves to a […]

GCC Rust status

As of today there is only one outstanding ticket for us to reach the goal of basic compilation of rust. The compiler currently the following building blocks in place: Lexer Parser Static Analysis Pass structure Abstracted GCC backend to GIMPLE reused from GCCGO which will need amendments over time The first milestone is compile primitives: […]