@@ -200,7 +200,7 @@ impl ReprVisitor {
200
200
}
201
201
202
202
pub fn write_vec_range ( & self ,
203
- mtbl : uint ,
203
+ _mtbl : uint ,
204
204
ptr : * u8 ,
205
205
len : uint ,
206
206
inner : * TyDesc )
@@ -218,7 +218,6 @@ impl ReprVisitor {
218
218
} else {
219
219
self . writer . write_str ( ", " ) ;
220
220
}
221
- self . write_mut_qualifier ( mtbl) ;
222
221
self . visit_ptr_inner ( p as * c_void , inner) ;
223
222
p = align ( ptr:: offset ( p, sz) as uint , al) as * u8 ;
224
223
left -= dec;
@@ -269,6 +268,7 @@ impl TyVisitor for ReprVisitor {
269
268
}
270
269
271
270
// Type no longer exists, vestigial function.
271
+ #[ cfg( stage0) ]
272
272
fn visit_str ( & self ) -> bool { fail ! ( ) ; }
273
273
274
274
fn visit_estr_box ( & self ) -> bool {
@@ -302,18 +302,16 @@ impl TyVisitor for ReprVisitor {
302
302
}
303
303
}
304
304
305
- fn visit_uniq ( & self , mtbl : uint , inner : * TyDesc ) -> bool {
305
+ fn visit_uniq ( & self , _mtbl : uint , inner : * TyDesc ) -> bool {
306
306
self . writer . write_char ( '~' ) ;
307
- self . write_mut_qualifier ( mtbl) ;
308
307
do self. get :: < * c_void > |b| {
309
308
self . visit_ptr_inner ( * b, inner) ;
310
309
}
311
310
}
312
311
313
312
#[ cfg( not( stage0) ) ]
314
- fn visit_uniq_managed ( & self , mtbl : uint , inner : * TyDesc ) -> bool {
313
+ fn visit_uniq_managed ( & self , _mtbl : uint , inner : * TyDesc ) -> bool {
315
314
self . writer . write_char ( '~' ) ;
316
- self . write_mut_qualifier ( mtbl) ;
317
315
do self. get :: < & managed:: raw:: BoxRepr > |b| {
318
316
let p = ptr:: to_unsafe_ptr ( & b. data ) as * c_void ;
319
317
self . visit_ptr_inner ( p, inner) ;
@@ -348,10 +346,20 @@ impl TyVisitor for ReprVisitor {
348
346
fn visit_evec_box ( & self , mtbl : uint , inner : * TyDesc ) -> bool {
349
347
do self . get :: < & VecRepr > |b| {
350
348
self . writer . write_char ( '@' ) ;
349
+ self . write_mut_qualifier ( mtbl) ;
350
+ self . write_unboxed_vec_repr ( mtbl, & b. unboxed , inner) ;
351
+ }
352
+ }
353
+
354
+ #[ cfg( stage0) ]
355
+ fn visit_evec_uniq ( & self , mtbl : uint , inner : * TyDesc ) -> bool {
356
+ do self . get :: < & VecRepr > |b| {
357
+ self . writer . write_char ( '~' ) ;
351
358
self . write_unboxed_vec_repr ( mtbl, & b. unboxed , inner) ;
352
359
}
353
360
}
354
361
362
+ #[ cfg( not( stage0) ) ]
355
363
fn visit_evec_uniq ( & self , mtbl : uint , inner : * TyDesc ) -> bool {
356
364
do self . get :: < & UnboxedVecRepr > |b| {
357
365
self . writer . write_char ( '~' ) ;
@@ -613,13 +621,14 @@ fn test_repr() {
613
621
exact_test ( & ( @"hello") , "@\" hello\" " ) ;
614
622
exact_test ( & ( ~"he\u10f3 llo") , "~\" he\\ u10f3llo\" " ) ;
615
623
616
- // FIXME #4210: the mut fields are a bit off here.
617
624
exact_test ( & ( @10 ) , "@10" ) ;
618
- exact_test ( & ( @mut 10 ) , "@10" ) ;
625
+ exact_test ( & ( @mut 10 ) , "@10" ) ; // FIXME: #4210: incorrect
626
+ exact_test ( & ( ( @mut 10 , 2 ) ) , "(@mut 10, 2)" ) ;
619
627
exact_test ( & ( ~10 ) , "~10" ) ;
620
628
exact_test ( & ( & 10 ) , "&10" ) ;
621
629
let mut x = 10 ;
622
630
exact_test ( & ( & mut x) , "&mut 10" ) ;
631
+ exact_test ( & ( @mut [ 1 , 2 ] ) , "@mut [1, 2]" ) ;
623
632
624
633
exact_test ( & ( 1 , ) , "(1,)" ) ;
625
634
exact_test ( & ( @[ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] ) ,
0 commit comments