diff options
Diffstat (limited to 'src/test/ui/nll/issue-54556-temps-in-tail-diagnostic.rs')
-rw-r--r-- | src/test/ui/nll/issue-54556-temps-in-tail-diagnostic.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/nll/issue-54556-temps-in-tail-diagnostic.rs b/src/test/ui/nll/issue-54556-temps-in-tail-diagnostic.rs new file mode 100644 index 000000000..2935caaf2 --- /dev/null +++ b/src/test/ui/nll/issue-54556-temps-in-tail-diagnostic.rs @@ -0,0 +1,23 @@ +fn main() { + { + let mut _thing1 = D(Box::new("thing1")); + // D("other").next(&_thing1).end() + D(&_thing1).end() //~ ERROR does not live long enough + } + + ; +} + +#[derive(Debug)] +struct D<T: std::fmt::Debug>(T); + +impl<T: std::fmt::Debug> Drop for D<T> { + fn drop(&mut self) { + println!("dropping {:?})", self); + } +} + +impl<T: std::fmt::Debug> D<T> { + fn next<U: std::fmt::Debug>(&self, _other: U) -> D<U> { D(_other) } + fn end(&self) { } +} |