mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 01:04:03 +00:00
99cb42c296
Implement `needs_async_drop` in rustc and optimize async drop glue
This PR expands on #121801 and implements `Ty::needs_async_drop` which works almost exactly the same as `Ty::needs_drop`, which is needed for #123948.
Also made compiler's async drop code to look more like compiler's regular drop code, which enabled me to write an optimization where types which do not use `AsyncDrop` can simply forward async drop glue to `drop_in_place`. This made size of the async block from the [async_drop test](
|
||
---|---|---|
.. | ||
src | ||
Cargo.toml |