You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: posts/2024-06-25-types-team-update.md
+6-5Lines changed: 6 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,7 @@ the new implementation.
83
83
### Async and `impl Trait`
84
84
85
85
We stabilized `async`-fn in traits (AFIT) and return-position `impl Trait` in
86
-
traits (RPTIIT) in version 1.79 thanks to a significant effort by [@compiler-errors] and
86
+
traits (RPTIIT) in version 1.75 thanks to a significant effort by [@compiler-errors] and
87
87
[@spastorino]. [@cjgillot] greatly improved the way generators, and therefore async functions,
88
88
are represented in the type system[^107421]. This allowed us to support recursive
89
89
`async`-functions without too much additional work[^117703].
@@ -92,9 +92,9 @@ Designing the next-generation trait solver surfaced issues and future-compatabil
92
92
of our type-alias `impl Trait` (TAIT) implementation using the old trait solver. We are
93
93
currently reworking the design and implementation. [@oli-obk] is spear-heading this effort.
94
94
This also impacts RPIT edge-cases, forcing us to be careful to avoid accidental breakage.
95
-
There have also been some new language design questions for TAIT, so we will likely first
95
+
There are some open language design questions for TAIT, so we plan to
96
96
stabilize associated type position `impl Trait` (ATPIT) as it avoids these language design
97
-
issues while still providing the same capabilities.
97
+
questions while still closing the expressiveness gap.
98
98
99
99
### `a-mir-formality`
100
100
@@ -165,7 +165,7 @@ difficult to reason about and necessary to fix many longstanding soundness issue
165
165
*[Polonius on Nightly project goal](https://rust-lang.github.io/rust-project-goals/2024h2/Polonius.html)
166
166
167
167
We intend to get the internal implementation of opaque types ready for the stabilization
168
-
of TAIT and ATPIT this year. We are also hoping to land a significant improvements our
168
+
of TAIT and ATPIT this year. We are also hoping to land significant improvements to our
169
169
handling of associated types in coherence checking this year.
170
170
171
171
Our other goal is to get [Polonius], the next generation borrow checker, available on nightly, which would put us in a position to stabilize in 2025 once we have time to do more optimization and testing.
@@ -182,7 +182,7 @@ and `dyn`-trait upcasting, which will hopefully get stabilized in the near futur
182
182
- next-generation trait solver
183
183
- stable in coherence
184
184
- used by rust-analyzer
185
-
-TAIT/ATPIT stabilized
185
+
- ATPIT stabilized
186
186
- a-mir-formality
187
187
- support for fuzzing and testing Rust snippets
188
188
- complete model of coherence and coinductive trait semantics
@@ -191,6 +191,7 @@ and `dyn`-trait upcasting, which will hopefully get stabilized in the near futur
191
191
### EOY 2025
192
192
193
193
- next-generation trait solver used everywhere by default
0 commit comments