// Copyright 2015 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // This test is reduced from libsyntax. 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_PathParameters); struct S09_PathParameters(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() {}