---
tags: weekly-meeting
---
# 2023-03-06 meeting - extended updates
### RPITIT refactoring
* have something working in like 95% of cases in my branch (some diagnostics were failing)
* started to merge PRs into master under an unstable option `-Zlower-impl-trait-in-trait-to-assoc-ty`, [#108141](https://github.com/rust-lang/rust/pull/108141), [#108568](https://github.com/rust-lang/rust/pull/108568), [#108672](https://github.com/rust-lang/rust/pull/108672) and [#108700](https://github.com/rust-lang/rust/pull/108700).
* this way we can address last remaining diagnostic issues directly on master and everything will be easier
### AFIT/RPITIT stabilization
* AFIT mostly just works, crates using the functionality in real-world to varying degrees.
* RPITIT works well alone, but has some issues when combined with AFIT.
* Few open issues which are either not fixable or polishing issues
* Major blocker is figuring out how to add `Send` (etc., mostly marker trait) bounds onto AFIT functions in callers. wg-async has been discussing several proposals.
### TAITs
* before stabilization we're reducing their defining scopes:
* only allow registering hidden types in functions that have the TAIT in their argument or return types.
* future compatible with also looking into `where` bounds
* easier for IDEs
* [implementation here](https://github.com/rust-lang/rust/pull/107809)
### GATs
No new updates - deep dive proposed for retrospective and next steps.
### a-mir-formality
### Subtyping refactor
Nothing happening in rustc afaik
### Implied bounds
Fully explicit implied remain blocked on the new trait solver and coinductive trait goals. Until then aliemjay has a lot of open PRs which improve the way we handle them in rustc. The one which probably has to land next is https://github.com/rust-lang/rust/pull/104098
### Trait solver refactor
The general structure of the solver is pretty much completely implemented. There are still a lot of smaller issues though, some of which are quite difficult to resolve. @compiler-errors has a far better understanding of how usable the solver already is.
* compiler-errors: HIR typecheck isn't really happy with lazy norm yet -- we can't even add numbers like [this](https://godbolt.org/z/njjnqKbG5). But the new solver has pretty good parity with the old solver in other cases.
Mostly succeeding in keeping the tracking issue ([#107374](https://github.com/rust-lang/rust/issues/107374)) up-to-date.
### Trait object upcasting
* RFC3324 was merged in Dec 10. Implementation was complete before then.
* In December did an analysis on the impacts of this feature on std traits. T-libs-api thinks this looks fine.
* T-libs-api also suggests taking into consideration traits in the ecosystem outside std. Haven't sketched out a good plan to do so.
* Nothing much happened since then. @crlf0710 needs some instructions for next steps before preparing stablization pr.
### Negative impls
* RFC is almost ready https://hackmd.io/ZmpF0ITPRWKx6jYxgCWS7g
* @spastorino is working on [#102678](https://github.com/rust-lang/rust/issues/102678)
* @nikomatsakis and @spastorino are meeting on a weekly basis to move this forward.
### Polonius
### chalk-ty
Some work by @eggyal on `TypeFoldable`/`TypeVisitable`, currently hashing out generic impls