// issue: rust-lang/rust#107228 | |
// ICE broken MIR in DropGlue | |
//@ compile-flags: -Zvalidate-mir | |
//@ check-pass | |
#![feature(specialization)] | |
#![crate_type="lib"] | |
#![allow(incomplete_features)] | |
pub(crate) trait SpecTrait { | |
type Assoc; | |
} | |
impl<C> SpecTrait for C { | |
default type Assoc = Vec<Self>; | |
} | |
pub(crate) struct AssocWrap<C: SpecTrait> { | |
_assoc: C::Assoc, | |
} | |
fn instantiate<C: SpecTrait>() -> AssocWrap<C> { | |
loop {} | |
} | |
pub fn main() { | |
instantiate::<()>(); | |
} |