summaryrefslogtreecommitdiffstats
path: root/third_party/rust/async-trait/tests/ui/lifetime-span.rs
blob: 01981e6de431f29fcb39a39b458e6b3fcaddce7f (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
26
27
28
29
30
31
32
33
34
35
36
use async_trait::async_trait;

struct A;
struct B;

#[async_trait]
pub trait Trait<'r> {
    async fn method(&'r self);
}

#[async_trait]
impl Trait for A {
    async fn method(&self) {}
}

#[async_trait]
impl<'r> Trait<'r> for B {
    async fn method(&self) {}
}

#[async_trait]
pub trait Trait2 {
    async fn method<'r>(&'r self);
}

#[async_trait]
impl Trait2 for A {
    async fn method(&self) {}
}

#[async_trait]
impl<'r> Trait2<'r> for B {
    async fn method(&'r self) {}
}

fn main() {}