Skip to content

Commit 6de60e6

Browse files
authored
Merge pull request #380 from lqd/more_rfc_fixes
More rfc fixes
2 parents 36305e1 + c795b87 commit 6de60e6

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/2025h2/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Rust's trait system is one of its most powerful features, but it has a number of
5050
* [Polonius](./polonius.md) will enable new borrowing patterns, and in particular [unblock "lending iterators"](https://github.com/rust-lang/rust/issues/92985). Over the last few goal periods we have identified an "alpha" vesion of polonius that addresses the most important cases while being relatively simple and optimizable. Our goal for 2025H2 is to implement this algorithm in a form that is ready for stabilization in 2026.
5151
* The [next gen trait solver](./next-solver.md) is a refactored trait solver that unblocks better support for numerous language features (implied bounds, negative impls, the list goes on) in addition to closing a number of existing bugs and unsoundnesses. Over the last few goal periods, the trait solver went from early prototype to being production use in coherence. The goal for 2025H2 is to prepare it for use throughout the compiler.
5252
* The work on [evolving trait hierarchies](./evolving-traits.md) will make it possible to refactor some parts of an existing trait out into a new supertrait so they can be used on their own. This unblocks a number of features where the existing trait is insufficiently general, in particular stabilizing support for custom receiver types, a prior project goal that wound up blocking on this refactoring.
53-
* The work to [expand Rust's `Sized` hierarchy](./scalable-vectors.md) will permit us to express types that are neither `Sized` nor `?Sized`, such as extern types (which have no size) or ARM's Scalable Vector Extensions (which have a size that is known at runtime, but not compilation time). This goal builds on [RFC #3729][] and [RFC #3838][], authored in previous project goal periods.
53+
* The work to [expand Rust's `Sized` hierarchy](./scalable-vectors.md) will permit us to express types that are neither `Sized` nor `?Sized`, such as extern types (which have no size) or Arm's Scalable Vector Extension (which have a size that is known at runtime, but not compilation time). This goal builds on [RFC #3729][] and [RFC #3838][], authored in previous project goal periods.
5454
* [In-place initialization](./in-place-initialization.md) allows creating structs and values that are tied to a particular place in memory. While useful directly for projects doing advanced C interop, it also unblocks expanding `dyn Trait` to support for `async fn` and `-> impl Trait` methods, as compiling such methods requires the ability for the callee to return a future whose size is not known to the caller.
5555

5656
### "Flexible, fast(er) Rust builds"

src/2025h2/autoreborrow-traits.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Nightly support for Autoreborrow traits
1+
# Reborrow traits
22

33
| Metadata | |
44
| :------------------ | -------------------------------------------------------------------------------- |
@@ -96,7 +96,7 @@ Users of `reborrow` crate and similar should be enabled to move to core solution
9696
| Standard reviews | ![Team][] [compiler] | Trait-impl querying in rustc to replace `Pin<&mut T>` special case |
9797
| Do the work | @aapoalas | |
9898

99-
### Design autoreborrow internals
99+
### Experiment with Reborrow trait design
100100

101101
The basic idea of autoreborrowing is simple enough: when a reborrowable type is encountered at a coercion
102102
site, attempt a reborrow operation.
@@ -122,7 +122,7 @@ like `PhantomExclusive<'a>` and `PhantomShared<'b>` to discern the difference.
122122
| RFC decision | ![Team][] [lang] | |
123123
| RFC secondary review | ![Team][] [types] | request bandwidth from a second team, most features don't need this |
124124

125-
### Implement non-recursive autoreborrowing
125+
### Seek feedback for an RFC based on experiment
126126

127127
A basic autoreborrowing feature should not be too complicated: the `Pin<&mut T>` special-case in the
128128
compiler already exists and could probably be reimagined to rely on a `Reborrow` trait.

0 commit comments

Comments
 (0)