|
1 | 1 | /// This higher-order macro declares a list of types which can be allocated by `Arena`.
|
2 |
| -/// |
3 |
| -/// Specifying the `decode` modifier will add decode impls for `&T` and `&[T]`, |
4 |
| -/// where `T` is the type listed. These impls will appear in the implement_ty_decoder! macro. |
| 2 | +/// Note that all `Copy` types can be allocated by default and need not be specified here. |
5 | 3 | #[macro_export]
|
6 | 4 | macro_rules! arena_types {
|
7 | 5 | ($macro:path) => (
|
8 | 6 | $macro!([
|
9 | 7 | // HIR types
|
10 | 8 | [] hir_krate: rustc_hir::Crate<'tcx>,
|
11 |
| - [] arm: rustc_hir::Arm<'tcx>, |
12 |
| - [] asm_operand: (rustc_hir::InlineAsmOperand<'tcx>, rustc_span::Span), |
13 | 9 | [] asm_template: rustc_ast::InlineAsmTemplatePiece,
|
14 | 10 | [] attribute: rustc_ast::Attribute,
|
15 |
| - [] closure: rustc_hir::Closure<'tcx>, |
16 |
| - [] block: rustc_hir::Block<'tcx>, |
17 |
| - [] bare_fn_ty: rustc_hir::BareFnTy<'tcx>, |
18 |
| - [] body: rustc_hir::Body<'tcx>, |
19 |
| - [] generics: rustc_hir::Generics<'tcx>, |
20 |
| - [] generic_arg: rustc_hir::GenericArg<'tcx>, |
21 |
| - [] generic_args: rustc_hir::GenericArgs<'tcx>, |
22 |
| - [] generic_bound: rustc_hir::GenericBound<'tcx>, |
23 |
| - [] generic_param: rustc_hir::GenericParam<'tcx>, |
24 |
| - [] expr: rustc_hir::Expr<'tcx>, |
25 |
| - [] impl_: rustc_hir::Impl<'tcx>, |
26 |
| - [] let_expr: rustc_hir::Let<'tcx>, |
27 |
| - [] expr_field: rustc_hir::ExprField<'tcx>, |
28 |
| - [] pat_field: rustc_hir::PatField<'tcx>, |
29 |
| - [] fn_decl: rustc_hir::FnDecl<'tcx>, |
30 |
| - [] foreign_item: rustc_hir::ForeignItem<'tcx>, |
31 |
| - [] foreign_item_ref: rustc_hir::ForeignItemRef, |
32 |
| - [] impl_item: rustc_hir::ImplItem<'tcx>, |
33 |
| - [] impl_item_ref: rustc_hir::ImplItemRef, |
34 |
| - [] item: rustc_hir::Item<'tcx>, |
35 |
| - [] inline_asm: rustc_hir::InlineAsm<'tcx>, |
36 |
| - [] local: rustc_hir::Local<'tcx>, |
37 |
| - [] mod_: rustc_hir::Mod<'tcx>, |
38 | 11 | [] owner_info: rustc_hir::OwnerInfo<'tcx>,
|
39 |
| - [] param: rustc_hir::Param<'tcx>, |
40 |
| - [] pat: rustc_hir::Pat<'tcx>, |
41 |
| - [] path: rustc_hir::Path<'tcx>, |
42 | 12 | [] use_path: rustc_hir::UsePath<'tcx>,
|
43 |
| - [] path_segment: rustc_hir::PathSegment<'tcx>, |
44 |
| - [] poly_trait_ref: rustc_hir::PolyTraitRef<'tcx>, |
45 |
| - [] qpath: rustc_hir::QPath<'tcx>, |
46 |
| - [] stmt: rustc_hir::Stmt<'tcx>, |
47 |
| - [] field_def: rustc_hir::FieldDef<'tcx>, |
48 |
| - [] trait_item: rustc_hir::TraitItem<'tcx>, |
49 |
| - [] trait_item_ref: rustc_hir::TraitItemRef, |
50 |
| - [] ty: rustc_hir::Ty<'tcx>, |
51 |
| - [] type_binding: rustc_hir::TypeBinding<'tcx>, |
52 |
| - [] variant: rustc_hir::Variant<'tcx>, |
53 |
| - [] where_predicate: rustc_hir::WherePredicate<'tcx>, |
54 | 13 | [] lit: rustc_hir::Lit,
|
| 14 | + [] macro_def: rustc_ast::MacroDef, |
55 | 15 | ]);
|
56 | 16 | )
|
57 | 17 | }
|
0 commit comments