File tree Expand file tree Collapse file tree 3 files changed +5
-16
lines changed
branches/auto/src/librustc Expand file tree Collapse file tree 3 files changed +5
-16
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
10
10
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
11
11
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
12
12
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
13
- refs/heads/auto: fa73d1317ab548315678e0da6df18501829dbb64
13
+ refs/heads/auto: 4ef4ddd757f93fee4e5bf8aafd3e9233ea9df034
14
14
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
15
15
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
16
16
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
Original file line number Diff line number Diff line change 12
12
13
13
pub use self :: astencode_tag:: * ;
14
14
15
- use std:: mem;
16
15
use back:: svh:: Svh ;
17
16
18
17
// EBML enum definitions and utils shared by the encoder and decoder
@@ -113,7 +112,7 @@ pub const tag_items_data_item_reexport_def_id: uint = 0x39;
113
112
pub const tag_items_data_item_reexport_name: uint = 0x3a ;
114
113
115
114
// used to encode crate_ctxt side tables
116
- #[ derive( Copy , PartialEq ) ]
115
+ #[ derive( Copy , PartialEq , FromPrimitive ) ]
117
116
#[ repr( uint) ]
118
117
pub enum astencode_tag { // Reserves 0x40 -- 0x5f
119
118
tag_ast = 0x40 ,
@@ -146,17 +145,6 @@ pub enum astencode_tag { // Reserves 0x40 -- 0x5f
146
145
tag_table_object_cast_map = 0x58 ,
147
146
}
148
147
149
- static first_astencode_tag: uint = tag_ast as uint ;
150
- static last_astencode_tag: uint = tag_table_object_cast_map as uint ;
151
- impl astencode_tag {
152
- pub fn from_uint ( value : uint ) -> Option < astencode_tag > {
153
- let is_a_tag = first_astencode_tag <= value && value <= last_astencode_tag;
154
- if !is_a_tag { None } else {
155
- Some ( unsafe { mem:: transmute :: < uint , astencode_tag > ( value) } )
156
- }
157
- }
158
- }
159
-
160
148
pub const tag_item_trait_item_sort: uint = 0x60 ;
161
149
162
150
pub const tag_item_trait_parent_sort: uint = 0x61 ;
Original file line number Diff line number Diff line change @@ -38,6 +38,7 @@ use syntax::ptr::P;
38
38
use syntax;
39
39
40
40
use std:: old_io:: Seek ;
41
+ use std:: num:: FromPrimitive ;
41
42
use std:: rc:: Rc ;
42
43
43
44
use rbml:: io:: SeekableMemWriter ;
@@ -1847,8 +1848,8 @@ fn decode_side_tables(dcx: &DecodeContext,
1847
1848
debug ! ( ">> Side table document with tag 0x{:x} \
1848
1849
found for id {} (orig {})",
1849
1850
tag, id, id0) ;
1850
-
1851
- match c :: astencode_tag :: from_uint ( tag ) {
1851
+ let decoded_tag : Option < c :: astencode_tag > = FromPrimitive :: from_uint ( tag ) ;
1852
+ match decoded_tag {
1852
1853
None => {
1853
1854
dcx. tcx . sess . bug (
1854
1855
& format ! ( "unknown tag found in side tables: {:x}" ,
You can’t perform that action at this time.
0 commit comments