@@ -173,8 +173,7 @@ enum ctor {
173
173
variant( def_id ) ,
174
174
val( const_val ) ,
175
175
range( const_val , const_val ) ,
176
- vec( uint ) ,
177
- vec_with_tail( uint )
176
+ vec( uint )
178
177
}
179
178
180
179
impl ctor : cmp:: Eq {
@@ -189,11 +188,8 @@ impl ctor : cmp::Eq {
189
188
( * cv0_self) == ( * cv0_other) && ( * cv1_self) == ( * cv1_other)
190
189
}
191
190
( vec( n_self) , vec( n_other) ) => n_self == n_other,
192
- ( vec_with_tail( n_self) , vec_with_tail( n_other) ) => {
193
- n_self == n_other
194
- }
195
191
( single, _) | ( variant( _) , _) | ( val( _) , _) |
196
- ( range( * ) , _) | ( vec( * ) , _) | ( vec_with_tail ( * ) , _ ) => {
192
+ ( range( * ) , _) | ( vec( * ) , _) => {
197
193
false
198
194
}
199
195
}
@@ -328,7 +324,7 @@ fn pat_ctor_id(cx: @AltCheckCtxt, p: @pat) -> Option<ctor> {
328
324
}
329
325
pat_vec( elems, tail) => {
330
326
match tail {
331
- Some ( _) => Some ( vec_with_tail ( elems . len ( ) ) ) ,
327
+ Some ( _) => None ,
332
328
None => Some ( vec ( elems. len ( ) ) )
333
329
}
334
330
}
@@ -465,7 +461,7 @@ fn ctor_arity(cx: @AltCheckCtxt, ctor: ctor, ty: ty::t) -> uint {
465
461
ty:: ty_struct ( cid, _) => ty:: lookup_struct_fields ( cx. tcx , cid) . len ( ) ,
466
462
ty:: ty_unboxed_vec ( * ) | ty:: ty_evec ( * ) => {
467
463
match ctor {
468
- vec( n) | vec_with_tail ( n ) => n,
464
+ vec( n) => n,
469
465
_ => 0 u
470
466
}
471
467
}
@@ -614,19 +610,12 @@ fn specialize(cx: @AltCheckCtxt, r: ~[@pat], ctor_id: ctor, arity: uint,
614
610
}
615
611
pat_vec( elems, tail) => {
616
612
match ctor_id {
617
- vec_with_tail( _) => {
618
- if elems. len ( ) >= arity {
619
- Some ( vec:: append ( elems. slice ( 0 , arity) , vec:: tail ( r) ) )
620
- } else {
621
- None
622
- }
623
- }
624
613
vec( _) => {
625
614
if elems. len ( ) < arity && tail. is_some ( ) {
626
615
Some ( vec:: append (
627
616
vec:: append ( elems, vec:: from_elem (
628
- arity - elems. len ( ) , wild ( ) )
629
- ) ,
617
+ arity - elems. len ( ) , wild ( )
618
+ ) ) ,
630
619
vec:: tail ( r)
631
620
) )
632
621
} else if elems. len ( ) == arity {
0 commit comments