diff options
| author | Jorge Aparicio <japaricious@gmail.com> | 2015-01-04 09:13:48 -0500 |
|---|---|---|
| committer | Jorge Aparicio <japaricious@gmail.com> | 2015-01-05 17:22:13 -0500 |
| commit | 0cb34a3609a028ad0bcaa8e200f97b18bb17383e (patch) | |
| tree | 70006a3a4ae0be2805f3953decf720af1fc0c5c8 | |
| parent | bd9eef7ac64b4263c9db25d74b7cc57958909ddc (diff) | |
EncodeInlinedItem: convert to "unboxed" closures
| -rw-r--r-- | src/librustc/metadata/encoder.rs | 7 | ||||
| -rw-r--r-- | src/librustc_trans/trans/base.rs | 2 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index 59679f0bc7c..14ab471a4b8 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -59,9 +59,8 @@ pub enum InlinedItemRef<'a> { pub type Encoder<'a> = writer::Encoder<'a, SeekableMemWriter>; -pub type EncodeInlinedItem<'a> = |ecx: &EncodeContext, - rbml_w: &mut Encoder, - ii: InlinedItemRef|: 'a; +pub type EncodeInlinedItem<'a> = + Box<FnMut(&EncodeContext, &mut Encoder, InlinedItemRef) + 'a>; pub struct EncodeParams<'a, 'tcx: 'a> { pub diag: &'a SpanHandler, @@ -953,7 +952,7 @@ fn encode_inlined_item(ecx: &EncodeContext, ii: InlinedItemRef) { let mut eii = ecx.encode_inlined_item.borrow_mut(); let eii: &mut EncodeInlinedItem = &mut *eii; - (*eii)(ecx, rbml_w, ii) + eii.call_mut((ecx, rbml_w, ii)) } const FN_FAMILY: char = 'f'; diff --git a/src/librustc_trans/trans/base.rs b/src/librustc_trans/trans/base.rs index 518042cf708..29811ad6dd5 100644 --- a/src/librustc_trans/trans/base.rs +++ b/src/librustc_trans/trans/base.rs @@ -2978,7 +2978,7 @@ pub fn write_metadata(cx: &SharedCrateContext, krate: &ast::Crate) -> Vec<u8> { } let encode_inlined_item: encoder::EncodeInlinedItem = - |ecx, rbml_w, ii| astencode::encode_inlined_item(ecx, rbml_w, ii); + box |ecx, rbml_w, ii| astencode::encode_inlined_item(ecx, rbml_w, ii); let encode_parms = crate_ctxt_to_encode_parms(cx, encode_inlined_item); let metadata = encoder::encode_metadata(encode_parms, krate); |
