diff options
Diffstat (limited to 'tests/ui/nll/issue-55511.rs')
-rw-r--r-- | tests/ui/nll/issue-55511.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/nll/issue-55511.rs b/tests/ui/nll/issue-55511.rs new file mode 100644 index 000000000..7dfa9c7bc --- /dev/null +++ b/tests/ui/nll/issue-55511.rs @@ -0,0 +1,19 @@ +#![warn(indirect_structural_match)] +use std::cell::Cell; +trait Foo<'a> { + const C: Option<Cell<&'a u32>>; +} + +impl<'a, T> Foo<'a> for T { + const C: Option<Cell<&'a u32>> = None; +} + +fn main() { + let a = 22; + let b = Some(Cell::new(&a)); + //~^ ERROR `a` does not live long enough [E0597] + match b { + <() as Foo<'static>>::C => { } + _ => { } + } +} |