Skip to content

Instantly share code, notes, and snippets.

@Aatch
Last active December 19, 2015 11:09
Show Gist options
  • Save Aatch/5945776 to your computer and use it in GitHub Desktop.
Save Aatch/5945776 to your computer and use it in GitHub Desktop.
AST Type sizes, before vs. after

Before

Structs

[struct]  	Lifetime: 48
[struct]  	Path: 104
[struct]  	def_id: 16
[struct]  	TyParam: 32
[struct]  	Generics: 16
[struct]  	crate_: 32
[struct]  	blk_: 40
[struct]  	field_pat: 24
[struct]  	local_: 144
[struct]  	arm: 80
[struct]  	field_: 24
[struct]  	mac_: 16
[struct]  	mt: 16
[struct]  	ty_field: 56
[struct]  	ty_method: 304
[struct]  	TyClosure: 232
[struct]  	TyBareFn: 152
[struct]  	inline_asm: 48
[struct]  	arg: 136
[struct]  	fn_decl: 128
[struct]  	method: 384
[struct]  	foreign_mod: 32
[struct]  	variant_arg: 120
[struct]  	variant_: 64
[struct]  	trait_ref: 112
[struct]  	struct_field_: 160
[struct]  	struct_def: 24
[struct]  	item: 328
[struct]  	foreign_item: 224

Enums

[enum]  	TyParamBound: 120
[enum]  	meta_item_: 64
[enum]  	binding_mode: 16
[enum]  	pat_: 136
[enum]  	mutability: 8
[enum]  	Sigil: 8
[enum]  	vstore: 64
[enum]  	stmt_: 56
[enum]  	decl_: 16
[enum]  	expr_: 200
[enum]  	token_tree: 184
[enum]  	matcher_: 176
[enum]  	lit_: 24
[enum]  	trait_method: 312
[enum]  	ty_: 80
[enum]  	view_path_: 136
[enum]  	view_item: 80
[enum]  	item_: 264
[enum]  	foreign_item_: 160

After

Structs

[struct]  	Lifetime: 48
[struct]  	Path: 104
[struct]  	def_id: 16
[struct]  	TyParam: 32
[struct]  	Generics: 16
[struct]  	crate_: 32
[struct]  	blk_: 40
[struct]  	field_pat: 24
[struct]  	local_: 136
[struct]  	arm: 80
[struct]  	field_: 24
[struct]  	mac_: 16
[struct]  	mt: 112
[struct]  	ty_field: 152
[struct]  	ty_method: 296
[struct]  	Ty: 104
[struct]  	TyClosure: 224
[struct]  	TyBareFn: 144
[struct]  	inline_asm: 48
[struct]  	arg: 128
[struct]  	fn_decl: 120
[struct]  	method: 376
[struct]  	foreign_mod: 32
[struct]  	variant_arg: 112
[struct]  	variant_: 64
[struct]  	trait_ref: 112
[struct]  	struct_field_: 152
[struct]  	struct_def: 24
[struct]  	item: 320
[struct]  	foreign_item: 216

Enums

[enum]  	TyParamBound: 8
[enum]  	meta_item_: 64
[enum]  	binding_mode: 16
[enum]  	pat_: 136
[enum]  	mutability: 8
[enum]  	Sigil: 8
[enum]  	vstore: 64
[enum]  	stmt_: 57
[enum]  	decl_: 16
[enum]  	expr_: 96
[enum]  	token_tree: 176
[enum]  	matcher_: 168
[enum]  	lit_: 24
[enum]  	trait_method: 16
[enum]  	ty_: 72
[enum]  	view_path_: 136
[enum]  	view_item: 80
[enum]  	item_: 256
[enum]  	foreign_item_: 152
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment