2024-02-16 14:02:50 -06:00
|
|
|
//@ build-pass
|
|
|
|
//@ compile-flags:-Copt-level=0
|
|
|
|
//@ edition:2018
|
2020-07-02 10:20:59 -05:00
|
|
|
|
|
|
|
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();
|
|
|
|
}
|