summaryrefslogtreecommitdiff
path: root/src/test/ui/single-use-lifetime/one-use-in-struct.rs
blob: 6c4d2a4a7ad41b9eba57a22236fa720dec3257c9 (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
// Test that we do not warn for named lifetimes in structs,
// even when they are only used once (since to not use a named
// lifetime is illegal!)
//
// compile-pass

#![deny(single_use_lifetimes)]
#![allow(dead_code)]
#![allow(unused_variables)]

struct Foo<'f> {
    data: &'f u32
}

enum Bar<'f> {
    Data(&'f u32)
}

trait Baz<'f> { }

// `Derive`d impls shouldn't trigger a warning, either (Issue #53738).

#[derive(Debug)]
struct Quux<'a> {
    priors: &'a u32,
}

fn main() { }