summaryrefslogtreecommitdiffstats
path: root/tests/ui/async-await/unused-lifetime.rs
blob: 6cfd36ba9e84312f723a6fe284ad3e9f0b4b4cf4 (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
37
38
39
// Check "unused_lifetimes" lint on both async and sync functions
// Both cases should be diagnosed the same way.

// edition:2018

#![deny(unused_lifetimes)]

async fn async_wrong_without_args<'a>() {} //~ ERROR lifetime parameter `'a` never used

async fn async_wrong_1_lifetime<'a>(_: &i32) {} //~ ERROR lifetime parameter `'a` never used

async fn async_wrong_2_lifetimes<'a, 'b>(_: &'a i32, _: &i32) {} //~ ERROR lifetime parameter `'b` never used

async fn async_right_1_lifetime<'a>(_: &'a i32) {}

async fn async_right_2_lifetimes<'a, 'b>(_: &'a i32, _: &'b i32) {}

async fn async_right_trait_bound_lifetime<'a, I>(_: I)
where
    I: Iterator<Item = &'a i32>
{}

fn wrong_without_args<'a>() {} //~ ERROR lifetime parameter `'a` never used

fn wrong_1_lifetime<'a>(_: &i32) {} //~ ERROR lifetime parameter `'a` never used

fn wrong_2_lifetimes<'a, 'b>(_: &'a i32, _: &i32) {} //~ ERROR lifetime parameter `'b` never used

fn right_1_lifetime<'a>(_: &'a i32) {}

fn right_2_lifetimes<'a, 'b>(_: &'a i32, _: &'b i32) {}

fn right_trait_bound_lifetime<'a, I>(_: I)
where
    I: Iterator<Item = &'a i32>
{}


fn main() {}