//@ check-pass // This test is reduced from librustc_ast. It is just checking that we // can successfully deal with a "deep" structure, which the drop-check // was hitting a recursion limit on at one point. //@ pretty-expanded FIXME #23616 #![allow(non_camel_case_types)] pub fn noop_fold_impl_item() -> SmallVector { loop { } } pub struct SmallVector(P); pub struct ImplItem(P); struct P(Box); struct S01_Method(P); struct S02_Generics(P); struct S03_TyParam(P); struct S04_TyParamBound(S05_PolyTraitRef); struct S05_PolyTraitRef(S06_TraitRef); struct S06_TraitRef(S07_Path); struct S07_Path(Vec); struct S08_PathSegment(S09_GenericArgs); struct S09_GenericArgs(P); struct S10_ParenthesizedParameterData(Option>); struct S11_Ty(P); struct S12_Expr(P); struct S13_Block(Vec>); struct S14_Stmt(P); struct S15_Decl(P); struct S16_Local(P); struct S17_Pat(P); struct S18_Mac(Vec>); struct S19_TokenTree(P); struct S20_Token(P); struct S21_Nonterminal(P); struct S22_Item(P); struct S23_EnumDef(Vec>); struct S24_Variant(P); struct S25_VariantKind(P); struct S26_StructDef(Vec>); struct S27_StructField(P); struct S28_StructFieldKind; pub fn main() {}