about summary refs log tree commit diff
path: root/tests/rustdoc/enum/enum-variant-fields-heading.rs
diff options
context:
space:
mode:
authorTrevor Gross <t.gross35@gmail.com>2025-05-04 18:11:50 -0400
committerGitHub <noreply@github.com>2025-05-04 18:11:50 -0400
commit0b8789c2019dc259564522d622ee45c777d1eb68 (patch)
treebed3ec1ea473b97b505bdd2d1643750820fccfc7 /tests/rustdoc/enum/enum-variant-fields-heading.rs
parent5b3de49822fa1f7a078b447b54cf02afaa311a34 (diff)
parenta82b7a63b7843b703d9ad41e52a215aaa2fa86ef (diff)
downloadrust-0b8789c2019dc259564522d622ee45c777d1eb68.tar.gz
rust-0b8789c2019dc259564522d622ee45c777d1eb68.zip
Rollup merge of #140630 - azhogin:azhogin/async-drop-proxy-source-info-fix, r=oli-obk
Async drop source info fix for proxy-drop-coroutine

Fixes crash at debug info generation: https://github.com/rust-lang/rust/issues/140426 .
Also, the submitted example requires sync Drop implementation too.
Because sync version is required for unwind and when drop is performed in sync context (sync function).

Probably, it is also needed to add such a lint/error about missed `impl Drop`, when there is `impl AsyncDrop`.

Fix description: even minimal, empty coroutine (for proxy-coroutine) has 3 states and the source info array should have 3 elements too.

```
#![feature(async_drop)]

use std::future::AsyncDrop;
use std::pin::Pin;

#[tokio::main(flavor = "current_thread")]
async fn main() {
    let _st = St;
}

struct St;

impl AsyncDrop for St {
    async fn drop(self: Pin<&mut Self>) {
        println!("123");
    }
}
```
Diffstat (limited to 'tests/rustdoc/enum/enum-variant-fields-heading.rs')
0 files changed, 0 insertions, 0 deletions