diff options
Diffstat (limited to 'src/test/ui/single-use-lifetime/one-use-in-struct.rs')
-rw-r--r-- | src/test/ui/single-use-lifetime/one-use-in-struct.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/single-use-lifetime/one-use-in-struct.rs b/src/test/ui/single-use-lifetime/one-use-in-struct.rs new file mode 100644 index 000000000..9cad942e7 --- /dev/null +++ b/src/test/ui/single-use-lifetime/one-use-in-struct.rs @@ -0,0 +1,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!) +// +// check-pass + +// Use forbid to verify that `automatically_derived` is handled correctly. +#![forbid(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() {} |