2018-05-03 22:43:28 +00:00
|
|
|
// 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!)
|
|
|
|
//
|
2020-10-25 00:22:53 +00:00
|
|
|
// check-pass
|
2018-05-03 22:43:28 +00:00
|
|
|
|
2022-05-10 19:15:30 +00:00
|
|
|
// Use forbid to verify that `automatically_derived` is handled correctly.
|
|
|
|
#![forbid(single_use_lifetimes)]
|
2018-05-03 22:43:28 +00:00
|
|
|
#![allow(dead_code)]
|
|
|
|
#![allow(unused_variables)]
|
|
|
|
|
|
|
|
struct Foo<'f> {
|
2020-10-25 00:22:53 +00:00
|
|
|
data: &'f u32,
|
2017-11-23 13:05:58 +00:00
|
|
|
}
|
|
|
|
|
2018-05-03 22:43:28 +00:00
|
|
|
enum Bar<'f> {
|
2020-10-25 00:22:53 +00:00
|
|
|
Data(&'f u32),
|
2017-11-23 13:05:58 +00:00
|
|
|
}
|
|
|
|
|
2020-10-25 00:22:53 +00:00
|
|
|
trait Baz<'f> {}
|
2018-05-03 22:43:28 +00:00
|
|
|
|
2019-06-14 06:16:47 +00:00
|
|
|
// `Derive`d impls shouldn't trigger a warning, either (Issue #53738).
|
|
|
|
#[derive(Debug)]
|
|
|
|
struct Quux<'a> {
|
|
|
|
priors: &'a u32,
|
|
|
|
}
|
|
|
|
|
2020-10-25 00:22:53 +00:00
|
|
|
fn main() {}
|