From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/borrowck/borrowck-fn-in-const-c.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/test/ui/borrowck/borrowck-fn-in-const-c.rs (limited to 'src/test/ui/borrowck/borrowck-fn-in-const-c.rs') diff --git a/src/test/ui/borrowck/borrowck-fn-in-const-c.rs b/src/test/ui/borrowck/borrowck-fn-in-const-c.rs new file mode 100644 index 000000000..c638cd08b --- /dev/null +++ b/src/test/ui/borrowck/borrowck-fn-in-const-c.rs @@ -0,0 +1,23 @@ +// Check that we check fns appearing in constant declarations. +// Issue #22382. + +// Returning local references? +struct DropString { + inner: String +} +impl Drop for DropString { + fn drop(&mut self) { + self.inner.clear(); + self.inner.push_str("dropped"); + } +} +const LOCAL_REF: fn() -> &'static str = { + fn broken() -> &'static str { + let local = DropString { inner: format!("Some local string") }; + return &local.inner; //~ borrow may still be in use when destructor runs + } + broken +}; + +fn main() { +} -- cgit v1.2.3