Summary
Design and implement native support for async fn methods invoked through dyn trait objects.
Tasks and status
Note: we have updated the body to match the 2026 goal. Your original text is preserved below.
Details
Summary
Introduce .box notation and use it to enable dyn dispatch for traits with async methods. The initial scope is foo.method().box where method() returns a dyn-compatible RPITIT. In the future .box could be used more generally but before expanding it we would like to see progress on the work towards in-place initialization.
Needs contributor: @nikomatsakis is able to devote 1h/wk to support an experienced contributor or a cohort of contributors in driving this design forward as a lang experiment. This is a challenging problem that will require modifying various parts of the compiler and would also benefit from modeling in a-mir-formality.
Tasks and status
Summary
Design and implement native support for
async fnmethods invoked throughdyntrait objects.Tasks and status
Note: we have updated the body to match the 2026 goal. Your original text is preserved below.
Details
Summary
Introduce
.boxnotation and use it to enable dyn dispatch for traits with async methods. The initial scope isfoo.method().boxwheremethod()returns a dyn-compatible RPITIT. In the future.boxcould be used more generally but before expanding it we would like to see progress on the work towards in-place initialization.Needs contributor: @nikomatsakis is able to devote 1h/wk to support an experienced contributor or a cohort of contributors in driving this design forward as a lang experiment. This is a challenging problem that will require modifying various parts of the compiler and would also benefit from modeling in a-mir-formality.
Tasks and status