Skip to content

Commit 11ef6f1

Browse files
committed
Remove "unboxed" attribute in code referring to new closures.
1 parent 458a6a2 commit 11ef6f1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+513
-565
lines changed

src/librustc/lint/builtin.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1732,7 +1732,7 @@ impl LintPass for Stability {
17321732
ty::MethodStatic(def_id) => {
17331733
def_id
17341734
}
1735-
ty::MethodStaticUnboxedClosure(def_id) => {
1735+
ty::MethodStaticClosure(def_id) => {
17361736
def_id
17371737
}
17381738
ty::MethodTypeParam(ty::MethodParam {
@@ -1940,7 +1940,7 @@ impl LintPass for UnconditionalRecursion {
19401940
ty::MethodTraitObject(_) => return false,
19411941

19421942
// This `did` refers directly to the method definition.
1943-
ty::MethodStatic(did) | ty::MethodStaticUnboxedClosure(did) => did,
1943+
ty::MethodStatic(did) | ty::MethodStaticClosure(did) => did,
19441944

19451945
// MethodTypeParam are methods from traits:
19461946

src/librustc/metadata/common.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ pub enum astencode_tag { // Reserves 0x40 -- 0x5f
139139
tag_table_adjustments = 0x51,
140140
tag_table_moves_map = 0x52,
141141
tag_table_capture_map = 0x53,
142-
tag_table_unboxed_closures = 0x54,
142+
tag_table_closures = 0x54,
143143
tag_table_upvar_borrow_map = 0x55,
144144
tag_table_capture_modes = 0x56,
145145
tag_table_object_cast_map = 0x57,
@@ -225,10 +225,10 @@ pub struct LinkMeta {
225225
pub crate_hash: Svh,
226226
}
227227

228-
pub const tag_unboxed_closures: uint = 0x95;
229-
pub const tag_unboxed_closure: uint = 0x96;
230-
pub const tag_unboxed_closure_type: uint = 0x97;
231-
pub const tag_unboxed_closure_kind: uint = 0x98;
228+
pub const tag_closures: uint = 0x95;
229+
pub const tag_closure: uint = 0x96;
230+
pub const tag_closure_type: uint = 0x97;
231+
pub const tag_closure_kind: uint = 0x98;
232232

233233
pub const tag_struct_fields: uint = 0x99;
234234
pub const tag_struct_field: uint = 0x9a;

src/librustc/metadata/encoder.rs

+18-24
Original file line numberDiff line numberDiff line change
@@ -618,13 +618,12 @@ fn encode_visibility(rbml_w: &mut Encoder, visibility: ast::Visibility) {
618618
rbml_w.end_tag();
619619
}
620620

621-
fn encode_unboxed_closure_kind(rbml_w: &mut Encoder,
622-
kind: ty::UnboxedClosureKind) {
623-
rbml_w.start_tag(tag_unboxed_closure_kind);
621+
fn encode_closure_kind(rbml_w: &mut Encoder, kind: ty::ClosureKind) {
622+
rbml_w.start_tag(tag_closure_kind);
624623
let ch = match kind {
625-
ty::FnUnboxedClosureKind => 'f',
626-
ty::FnMutUnboxedClosureKind => 'm',
627-
ty::FnOnceUnboxedClosureKind => 'o',
624+
ty::FnClosureKind => 'f',
625+
ty::FnMutClosureKind => 'm',
626+
ty::FnOnceClosureKind => 'o',
628627
};
629628
rbml_w.wr_str(&ch.to_string()[]);
630629
rbml_w.end_tag();
@@ -1838,24 +1837,19 @@ fn encode_macro_defs(rbml_w: &mut Encoder,
18381837
rbml_w.end_tag();
18391838
}
18401839

1841-
fn encode_unboxed_closures<'a>(
1842-
ecx: &'a EncodeContext,
1843-
rbml_w: &'a mut Encoder) {
1844-
rbml_w.start_tag(tag_unboxed_closures);
1845-
for (unboxed_closure_id, unboxed_closure) in ecx.tcx
1846-
.unboxed_closures
1847-
.borrow()
1848-
.iter() {
1849-
if unboxed_closure_id.krate != ast::LOCAL_CRATE {
1840+
fn encode_closures<'a>(ecx: &'a EncodeContext, rbml_w: &'a mut Encoder) {
1841+
rbml_w.start_tag(tag_closures);
1842+
for (closure_id, closure) in ecx.tcx.closures.borrow().iter() {
1843+
if closure_id.krate != ast::LOCAL_CRATE {
18501844
continue
18511845
}
18521846

1853-
rbml_w.start_tag(tag_unboxed_closure);
1854-
encode_def_id(rbml_w, *unboxed_closure_id);
1855-
rbml_w.start_tag(tag_unboxed_closure_type);
1856-
write_closure_type(ecx, rbml_w, &unboxed_closure.closure_type);
1847+
rbml_w.start_tag(tag_closure);
1848+
encode_def_id(rbml_w, *closure_id);
1849+
rbml_w.start_tag(tag_closure_type);
1850+
write_closure_type(ecx, rbml_w, &closure.closure_type);
18571851
rbml_w.end_tag();
1858-
encode_unboxed_closure_kind(rbml_w, unboxed_closure.kind);
1852+
encode_closure_kind(rbml_w, closure.kind);
18591853
rbml_w.end_tag();
18601854
}
18611855
rbml_w.end_tag();
@@ -2069,7 +2063,7 @@ fn encode_metadata_inner(wr: &mut SeekableMemWriter,
20692063
native_lib_bytes: u64,
20702064
plugin_registrar_fn_bytes: u64,
20712065
macro_defs_bytes: u64,
2072-
unboxed_closure_bytes: u64,
2066+
closure_bytes: u64,
20732067
impl_bytes: u64,
20742068
misc_bytes: u64,
20752069
item_bytes: u64,
@@ -2084,7 +2078,7 @@ fn encode_metadata_inner(wr: &mut SeekableMemWriter,
20842078
native_lib_bytes: 0,
20852079
plugin_registrar_fn_bytes: 0,
20862080
macro_defs_bytes: 0,
2087-
unboxed_closure_bytes: 0,
2081+
closure_bytes: 0,
20882082
impl_bytes: 0,
20892083
misc_bytes: 0,
20902084
item_bytes: 0,
@@ -2156,8 +2150,8 @@ fn encode_metadata_inner(wr: &mut SeekableMemWriter,
21562150

21572151
// Encode the types of all unboxed closures in this crate.
21582152
i = rbml_w.writer.tell().unwrap();
2159-
encode_unboxed_closures(&ecx, &mut rbml_w);
2160-
stats.unboxed_closure_bytes = rbml_w.writer.tell().unwrap() - i;
2153+
encode_closures(&ecx, &mut rbml_w);
2154+
stats.closure_bytes = rbml_w.writer.tell().unwrap() - i;
21612155

21622156
// Encode the def IDs of impls, for coherence checking.
21632157
i = rbml_w.writer.tell().unwrap();

src/librustc/metadata/tydecode.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub enum DefIdSource {
5858
RegionParameter,
5959

6060
// Identifies an unboxed closure
61-
UnboxedClosureSource
61+
ClosureSource
6262
}
6363

6464
// type conv_did = impl FnMut(DefIdSource, ast::DefId) -> ast::DefId;
@@ -537,11 +537,11 @@ fn parse_ty_<'a, 'tcx, F>(st: &mut PState<'a, 'tcx>, conv: &mut F) -> Ty<'tcx> w
537537
}
538538
'k' => {
539539
assert_eq!(next(st), '[');
540-
let did = parse_def_(st, UnboxedClosureSource, conv);
540+
let did = parse_def_(st, ClosureSource, conv);
541541
let region = parse_region_(st, conv);
542542
let substs = parse_substs_(st, conv);
543543
assert_eq!(next(st), ']');
544-
return ty::mk_unboxed_closure(st.tcx, did,
544+
return ty::mk_closure(st.tcx, did,
545545
st.tcx.mk_region(region), st.tcx.mk_substs(substs));
546546
}
547547
'P' => {

src/librustc/metadata/tyencode.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ pub fn enc_ty<'a, 'tcx>(w: &mut SeekableMemWriter, cx: &ctxt<'a, 'tcx>, t: Ty<'t
139139
enc_substs(w, cx, substs);
140140
mywrite!(w, "]");
141141
}
142-
ty::ty_unboxed_closure(def, region, substs) => {
142+
ty::ty_closure(def, region, substs) => {
143143
mywrite!(w, "k[{}|", (cx.ds)(def));
144144
enc_region(w, cx, *region);
145145
enc_substs(w, cx, substs);

src/librustc/middle/astencode.rs

+40-47
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use metadata::encoder as e;
2121
use middle::region;
2222
use metadata::tydecode;
2323
use metadata::tydecode::{DefIdSource, NominalType, TypeWithId, TypeParameter};
24-
use metadata::tydecode::{RegionParameter, UnboxedClosureSource};
24+
use metadata::tydecode::{RegionParameter, ClosureSource};
2525
use metadata::tyencode;
2626
use middle::mem_categorization::Typer;
2727
use middle::subst;
@@ -618,8 +618,8 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
618618
fn tr(&self, dcx: &DecodeContext) -> MethodOrigin<'tcx> {
619619
match *self {
620620
ty::MethodStatic(did) => ty::MethodStatic(did.tr(dcx)),
621-
ty::MethodStaticUnboxedClosure(did) => {
622-
ty::MethodStaticUnboxedClosure(did.tr(dcx))
621+
ty::MethodStaticClosure(did) => {
622+
ty::MethodStaticClosure(did.tr(dcx))
623623
}
624624
ty::MethodTypeParam(ref mp) => {
625625
ty::MethodTypeParam(
@@ -643,24 +643,23 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
643643
}
644644
}
645645

646-
pub fn encode_unboxed_closure_kind(ebml_w: &mut Encoder,
647-
kind: ty::UnboxedClosureKind) {
646+
pub fn encode_closure_kind(ebml_w: &mut Encoder, kind: ty::ClosureKind) {
648647
use serialize::Encoder;
649648

650-
ebml_w.emit_enum("UnboxedClosureKind", |ebml_w| {
649+
ebml_w.emit_enum("ClosureKind", |ebml_w| {
651650
match kind {
652-
ty::FnUnboxedClosureKind => {
653-
ebml_w.emit_enum_variant("FnUnboxedClosureKind", 0, 3, |_| {
651+
ty::FnClosureKind => {
652+
ebml_w.emit_enum_variant("FnClosureKind", 0, 3, |_| {
654653
Ok(())
655654
})
656655
}
657-
ty::FnMutUnboxedClosureKind => {
658-
ebml_w.emit_enum_variant("FnMutUnboxedClosureKind", 1, 3, |_| {
656+
ty::FnMutClosureKind => {
657+
ebml_w.emit_enum_variant("FnMutClosureKind", 1, 3, |_| {
659658
Ok(())
660659
})
661660
}
662-
ty::FnOnceUnboxedClosureKind => {
663-
ebml_w.emit_enum_variant("FnOnceUnboxedClosureKind",
661+
ty::FnOnceClosureKind => {
662+
ebml_w.emit_enum_variant("FnOnceClosureKind",
664663
2,
665664
3,
666665
|_| {
@@ -736,7 +735,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
736735
this.read_enum_variant(&["vtable_static",
737736
"vtable_param",
738737
"vtable_error",
739-
"vtable_unboxed_closure"],
738+
"vtable_closure"],
740739
|this, i| {
741740
Ok(match i {
742741
0 => {
@@ -763,7 +762,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
763762
)
764763
}
765764
2 => {
766-
ty::vtable_unboxed_closure(
765+
ty::vtable_closure(
767766
this.read_enum_variant_arg(0u, |this| {
768767
Ok(this.read_def_id_nodcx(cdata))
769768
}).unwrap()
@@ -865,8 +864,8 @@ impl<'a, 'tcx> rbml_writer_helpers<'tcx> for Encoder<'a> {
865864
})
866865
}
867866

868-
ty::MethodStaticUnboxedClosure(def_id) => {
869-
this.emit_enum_variant("MethodStaticUnboxedClosure", 1, 1, |this| {
867+
ty::MethodStaticClosure(def_id) => {
868+
this.emit_enum_variant("MethodStaticClosure", 1, 1, |this| {
870869
Ok(this.emit_def_id(def_id))
871870
})
872871
}
@@ -1322,15 +1321,12 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext,
13221321
})
13231322
}
13241323

1325-
for unboxed_closure in tcx.unboxed_closures
1326-
.borrow()
1327-
.get(&ast_util::local_def(id))
1328-
.iter() {
1329-
rbml_w.tag(c::tag_table_unboxed_closures, |rbml_w| {
1324+
for closure in tcx.closures.borrow().get(&ast_util::local_def(id)).iter() {
1325+
rbml_w.tag(c::tag_table_closures, |rbml_w| {
13301326
rbml_w.id(id);
13311327
rbml_w.tag(c::tag_table_val, |rbml_w| {
1332-
rbml_w.emit_closure_type(ecx, &unboxed_closure.closure_type);
1333-
encode_unboxed_closure_kind(rbml_w, unboxed_closure.kind)
1328+
rbml_w.emit_closure_type(ecx, &closure.closure_type);
1329+
encode_closure_kind(rbml_w, closure.kind)
13341330
})
13351331
})
13361332
}
@@ -1369,8 +1365,8 @@ trait rbml_decoder_decoder_helpers<'tcx> {
13691365
-> subst::Substs<'tcx>;
13701366
fn read_auto_adjustment<'a, 'b>(&mut self, dcx: &DecodeContext<'a, 'b, 'tcx>)
13711367
-> ty::AutoAdjustment<'tcx>;
1372-
fn read_unboxed_closure<'a, 'b>(&mut self, dcx: &DecodeContext<'a, 'b, 'tcx>)
1373-
-> ty::UnboxedClosure<'tcx>;
1368+
fn read_closure<'a, 'b>(&mut self, dcx: &DecodeContext<'a, 'b, 'tcx>)
1369+
-> ty::Closure<'tcx>;
13741370
fn read_auto_deref_ref<'a, 'b>(&mut self, dcx: &DecodeContext<'a, 'b, 'tcx>)
13751371
-> ty::AutoDerefRef<'tcx>;
13761372
fn read_autoref<'a, 'b>(&mut self, dcx: &DecodeContext<'a, 'b, 'tcx>)
@@ -1436,7 +1432,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
14361432
-> ty::MethodOrigin<'tcx>
14371433
{
14381434
self.read_enum("MethodOrigin", |this| {
1439-
let variants = &["MethodStatic", "MethodStaticUnboxedClosure",
1435+
let variants = &["MethodStatic", "MethodStaticClosure",
14401436
"MethodTypeParam", "MethodTraitObject"];
14411437
this.read_enum_variant(variants, |this, i| {
14421438
Ok(match i {
@@ -1447,7 +1443,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
14471443

14481444
1 => {
14491445
let def_id = this.read_def_id(dcx);
1450-
ty::MethodStaticUnboxedClosure(def_id)
1446+
ty::MethodStaticClosure(def_id)
14511447
}
14521448

14531449
2 => {
@@ -1797,8 +1793,8 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
17971793
}).unwrap()
17981794
}
17991795

1800-
fn read_unboxed_closure<'b, 'c>(&mut self, dcx: &DecodeContext<'b, 'c, 'tcx>)
1801-
-> ty::UnboxedClosure<'tcx> {
1796+
fn read_closure<'b, 'c>(&mut self, dcx: &DecodeContext<'b, 'c, 'tcx>)
1797+
-> ty::Closure<'tcx> {
18021798
let closure_type = self.read_opaque(|this, doc| {
18031799
Ok(tydecode::parse_ty_closure_data(
18041800
doc.data,
@@ -1808,21 +1804,21 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
18081804
|s, a| this.convert_def_id(dcx, s, a)))
18091805
}).unwrap();
18101806
let variants = &[
1811-
"FnUnboxedClosureKind",
1812-
"FnMutUnboxedClosureKind",
1813-
"FnOnceUnboxedClosureKind"
1807+
"FnClosureKind",
1808+
"FnMutClosureKind",
1809+
"FnOnceClosureKind"
18141810
];
1815-
let kind = self.read_enum("UnboxedClosureKind", |this| {
1811+
let kind = self.read_enum("ClosureKind", |this| {
18161812
this.read_enum_variant(variants, |_, i| {
18171813
Ok(match i {
1818-
0 => ty::FnUnboxedClosureKind,
1819-
1 => ty::FnMutUnboxedClosureKind,
1820-
2 => ty::FnOnceUnboxedClosureKind,
1821-
_ => panic!("bad enum variant for ty::UnboxedClosureKind"),
1814+
0 => ty::FnClosureKind,
1815+
1 => ty::FnMutClosureKind,
1816+
2 => ty::FnOnceClosureKind,
1817+
_ => panic!("bad enum variant for ty::ClosureKind"),
18221818
})
18231819
})
18241820
}).unwrap();
1825-
ty::UnboxedClosure {
1821+
ty::Closure {
18261822
closure_type: closure_type,
18271823
kind: kind,
18281824
}
@@ -1864,7 +1860,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
18641860
-> ast::DefId {
18651861
let r = match source {
18661862
NominalType | TypeWithId | RegionParameter => dcx.tr_def_id(did),
1867-
TypeParameter | UnboxedClosureSource => dcx.tr_intern_def_id(did)
1863+
TypeParameter | ClosureSource => dcx.tr_intern_def_id(did)
18681864
};
18691865
debug!("convert_def_id(source={:?}, did={:?})={:?}", source, did, r);
18701866
return r;
@@ -1959,14 +1955,11 @@ fn decode_side_tables(dcx: &DecodeContext,
19591955
let adj: ty::AutoAdjustment = val_dsr.read_auto_adjustment(dcx);
19601956
dcx.tcx.adjustments.borrow_mut().insert(id, adj);
19611957
}
1962-
c::tag_table_unboxed_closures => {
1963-
let unboxed_closure =
1964-
val_dsr.read_unboxed_closure(dcx);
1965-
dcx.tcx
1966-
.unboxed_closures
1967-
.borrow_mut()
1968-
.insert(ast_util::local_def(id),
1969-
unboxed_closure);
1958+
c::tag_table_closures => {
1959+
let closure =
1960+
val_dsr.read_closure(dcx);
1961+
dcx.tcx.closures.borrow_mut().insert(ast_util::local_def(id),
1962+
closure);
19701963
}
19711964
_ => {
19721965
dcx.tcx.sess.bug(

src/librustc/middle/dead.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ impl<'a, 'tcx> MarkSymbolVisitor<'a, 'tcx> {
100100
None => self.check_def_id(def_id)
101101
}
102102
}
103-
ty::MethodStaticUnboxedClosure(_) => {}
103+
ty::MethodStaticClosure(_) => {}
104104
ty::MethodTypeParam(ty::MethodParam {
105105
ref trait_ref,
106106
method_num: index,

0 commit comments

Comments
 (0)