about summary refs log tree commit diff
path: root/tests/ui/coroutine/dont-drop-stalled-generators.rs
blob: 8e0c45a9773b3dab7dd42c704cb8b41e129d3aa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver
//@ check-pass
//@ edition: 2024

// This test previously used the `is_copy_raw` query during
// HIR typeck, dropping the list of generators from the current
// body. This then caused a query cycle.

struct W<T>(*const T);

impl<T: Send> Clone for W<T> {
    fn clone(&self) -> Self { W(self.0) }
}

impl<T: Send> Copy for W<T> {}

fn main() {
    let coro = async {};
    let x = W(&raw const coro);
    let c = || {
        let x = x;
    };
}