29 lines
482 B
Rust
29 lines
482 B
Rust
|
// 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::<()>();
|
||
|
}
|