From 97b24f3236a59c920b8978604739fcd274c678de Mon Sep 17 00:00:00 2001 From: Eric Holk Date: Mon, 7 Feb 2022 16:01:27 -0800 Subject: Drop tracking: track borrows of projections Previous efforts to ignore partially consumed values meant we were also not considering borrows of a projection. This led to cases where we'd miss borrowed types which MIR expected to be there, leading to ICEs. --- src/test/ui/async-await/issue-93648.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/test/ui/async-await/issue-93648.rs (limited to 'src/test') diff --git a/src/test/ui/async-await/issue-93648.rs b/src/test/ui/async-await/issue-93648.rs new file mode 100644 index 00000000000..4ce3ac1e874 --- /dev/null +++ b/src/test/ui/async-await/issue-93648.rs @@ -0,0 +1,12 @@ +// edition:2021 +// build-pass +// compile-flags: -Zdrop-tracking + +fn main() { + let _ = async { + let mut s = (String::new(),); + s.0.push_str("abc"); + std::mem::drop(s); + async {}.await; + }; +} -- cgit 1.4.1-3-g733a5