Skip to content

Commit 3b038f0

Browse files
committed
review + update date
1 parent fc5b58b commit 3b038f0

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

posts/2024-06-25-types-team-update.md renamed to posts/2024-06-26-types-team-update.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ team: The Types Team <https://github.com/rust-lang/types-team>
77

88
It has been more than a year since [the initial blog post][TypesAnnouncement] announcing the Types team, and our initial set of goals. For details on what the team is, why it was formed, or our previously-stated overarching goals, go check out that blog post. In short the Types team's purview extends to the parts of the Rust language and compiler that involve the type system, e.g. type checking, trait solving, and borrow checking. Our short and long term goals effectively work to make the type system sound, consistent, extensible, and fast.
99

10-
Before getting into details, it's worth sharing a quick point: the team over the last year has been very successful. Oftentimes, it's hard to measure impact, particularly when long-term roadmap goals are hard to quantify progress on and various short-term goals either are hit or aren't. But, there is one clear statistic that somewhat indictative of the team's progress: over the last year or so, [more than 50 user-facing changes][FCPs] have landed, each separately approved by Types Team consensus through FCP.
10+
Before getting into details, it's worth sharing a quick point: the team over the last year has been very successful. Oftentimes, it's hard to measure impact, particularly when long-term roadmap goals are hard to quantify progress on and various short-term goals either are hit or aren't. But, there is one clear statistic that is somewhat indicative of the team's progress: over the last year or so, [more than 50 user-facing changes][FCPs] have landed, each separately approved by Types Team consensus through FCP.
1111

1212
The changes lie at the boundary between language design and implementation, and the Types Team (which is a subteam of both the Language and Compiler Teams) existing means that not only does the Rust Project have the bandwidth to make these decisions but we also have enough people with the knowledge and experience of the type system to make informed decisions that overall make the language better.
1313

@@ -76,7 +76,7 @@ we would have liked to [stabilize its use in coherence][StabilizeNS] a few month
7676
this surfaced additional small behavior regressions and hangs, causing delays. We are working on fixing these issues and intend to merge the stabilization PR soon. We are getting close to compiling the standard library
7777
and the compiler with the new solver enabled everywhere, after which will be able to run
7878
crater to figure out the remaining issues. We expect there to be a long tail of minor issues
79-
and behaviorial differences from the existing implementation, so there's still a lot to do
79+
and behavioral differences from the existing implementation, so there's still a lot to do
8080
here. There are also open design questions which we will have to resolve before stabilizing
8181
the new implementation.
8282

@@ -88,7 +88,7 @@ traits (RPTIIT) in version 1.75 thanks to a significant effort by [@compiler-err
8888
are represented in the type system[^107421]. This allowed us to support recursive
8989
`async`-functions without too much additional work[^117703].
9090

91-
Designing the next-generation trait solver surfaced issues and future-compatability challenges
91+
Designing the next-generation trait solver surfaced issues and future-compatibility challenges
9292
of our type-alias `impl Trait` (TAIT) implementation using the old trait solver. We are
9393
currently reworking the design and implementation. [@oli-obk] is spear-heading this effort.
9494
This also impacts RPIT edge-cases, forcing us to be careful to avoid accidental breakage.
@@ -106,7 +106,7 @@ issues.
106106

107107
### Fixing soundness issues
108108

109-
We fixed multiple long-standing unsound issues, see [the full list of closed issues](https://github.com/rust-lang/rust/issues?q=is%3Aissue+label%3AI-unsound+label%3AT-types+-label%3Arequires-nightly+is%3Aclosed+closed%3A%3C2024-06-20+). The most most notable of which was [#80176](https://github.com/rust-lang/rust/issues/80176). This subtle issue caused us to accept methods in trait implementations whose function signature had outlives requirements not present in the trait definition. These requirements were then never proven when calling the trait method. As there were some crates which relied on this pattern by accident, even if it their usages didn't exploit this unsoundness, we first merged a [future-compatability lint](https://github.com/rust-lang/rust/issues/105572) which we then moved to a hard error after a few versions.
109+
We fixed multiple long-standing unsound issues, see [the full list of closed issues](https://github.com/rust-lang/rust/issues?q=is%3Aissue+label%3AI-unsound+label%3AT-types+-label%3Arequires-nightly+is%3Aclosed+closed%3A%3C2024-06-20+). The most most notable of which was [#80176](https://github.com/rust-lang/rust/issues/80176). This subtle issue caused us to accept methods in trait implementations whose function signature had outlives requirements not present in the trait definition. These requirements were then never proven when calling the trait method. As there were some crates which relied on this pattern by accident, even if it their usages didn't exploit this unsoundness, we first merged a [future-compatibility lint](https://github.com/rust-lang/rust/issues/105572) which we then moved to a hard error after a few versions.
110110

111111
We've also spent time on [categorizing the remaining open issues][unsoundCat] and integrating
112112
them into our longterm planning. Most of the remaining ones are blocked on the
@@ -156,7 +156,7 @@ additional confidence in our model of the type system and will guide its future
156156

157157
We plan to fully formalize some components of the type system this year. Coherence is fairly
158158
self-contained, very subtle, and soundness-critical. This has prevented us from making significant
159-
improvents to it in the past. We also intend to formalize coinductive trait semantics, which are
159+
improvements to it in the past. We also intend to formalize coinductive trait semantics, which are
160160
difficult to reason about and necessary to fix many longstanding soundness issues.
161161

162162
### Language changes and polonius

0 commit comments

Comments
 (0)