diff options
Diffstat (limited to 'third_party/rust/async-trait/tests/ui/lifetime-span.rs')
-rw-r--r-- | third_party/rust/async-trait/tests/ui/lifetime-span.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/third_party/rust/async-trait/tests/ui/lifetime-span.rs b/third_party/rust/async-trait/tests/ui/lifetime-span.rs new file mode 100644 index 0000000000..01981e6de4 --- /dev/null +++ b/third_party/rust/async-trait/tests/ui/lifetime-span.rs @@ -0,0 +1,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() {} |