rust/src/test/ui/issue-73914.rs
David Wood 1b747a030f
mir: mark mir construction temporaries as internal
This commit marks temporaries from MIR construction as internal such
that they are skipped in `sanitize_witness` (where each MIR local is
checked to have been contained within the generator interior computed
during typeck). This resolves an ICE whereby the construction of checked
addition introduced a `(u64, bool)` temporary which was not in the HIR
and thus not in the generator interior.

Signed-off-by: David Wood <david@davidtw.co>
2020-07-02 16:20:59 +01:00

31 lines
464 B
Rust

// build-pass
// compile-flags:-Copt-level=0
// edition:2018
struct S<T>(std::marker::PhantomData<T>);
impl<T> std::ops::Deref for S<T> {
type Target = T;
fn deref(&self) -> &Self::Target {
todo!()
}
}
impl<T> std::ops::DerefMut for S<T> {
fn deref_mut(&mut self) -> &mut Self::Target {
todo!()
}
}
async fn new() -> S<u64> {
todo!()
}
async fn crash() {
*new().await = 1 + 1;
}
fn main() {
let _ = crash();
}