@@ -346,7 +346,6 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
346
346
// Type no longer exists, vestigial function.
347
347
fn visit_vec ( & mut self , _mtbl : uint , _inner : * TyDesc ) -> bool { fail ! ( ) ; }
348
348
349
-
350
349
fn visit_unboxed_vec ( & mut self , mtbl : uint , inner : * TyDesc ) -> bool {
351
350
do self . get :: < raw:: Vec < ( ) > > |this, b| {
352
351
this. write_unboxed_vec_repr ( mtbl, b, inner) ;
@@ -413,11 +412,15 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
413
412
true
414
413
}
415
414
416
- fn visit_enter_class ( & mut self , _n_fields : uint ,
415
+ fn visit_enter_class ( & mut self , name : & str , n_fields : uint ,
417
416
_sz : uint , _align : uint ) -> bool {
418
- self . writer . write ( [ '{' as u8 ] ) ;
417
+ self . writer . write ( name. as_bytes ( ) ) ;
418
+ if n_fields != 0 {
419
+ self . writer . write ( [ '{' as u8 ] ) ;
420
+ }
419
421
true
420
422
}
423
+
421
424
fn visit_class_field ( & mut self , i : uint , name : & str ,
422
425
mtbl : uint , inner : * TyDesc ) -> bool {
423
426
if i != 0 {
@@ -429,9 +432,12 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
429
432
self . visit_inner ( inner) ;
430
433
true
431
434
}
432
- fn visit_leave_class ( & mut self , _n_fields : uint ,
435
+
436
+ fn visit_leave_class ( & mut self , _name : & str , n_fields : uint ,
433
437
_sz : uint , _align : uint ) -> bool {
434
- self . writer . write ( [ '}' as u8 ] ) ;
438
+ if n_fields != 0 {
439
+ self . writer . write ( [ '}' as u8 ] ) ;
440
+ }
435
441
true
436
442
}
437
443
@@ -440,13 +446,15 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
440
446
self . writer . write ( [ '(' as u8 ] ) ;
441
447
true
442
448
}
449
+
443
450
fn visit_tup_field ( & mut self , i : uint , inner : * TyDesc ) -> bool {
444
451
if i != 0 {
445
452
self . writer . write ( ", " . as_bytes ( ) ) ;
446
453
}
447
454
self . visit_inner ( inner) ;
448
455
true
449
456
}
457
+
450
458
fn visit_leave_tup ( & mut self , _n_fields : uint ,
451
459
_sz : uint , _align : uint ) -> bool {
452
460
if _n_fields == 1 {
@@ -544,12 +552,15 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
544
552
545
553
fn visit_enter_fn ( & mut self , _purity : uint , _proto : uint ,
546
554
_n_inputs : uint , _retstyle : uint ) -> bool { true }
555
+
547
556
fn visit_fn_input ( & mut self , _i : uint , _mode : uint , _inner : * TyDesc ) -> bool {
548
557
true
549
558
}
559
+
550
560
fn visit_fn_output ( & mut self , _retstyle : uint , _inner : * TyDesc ) -> bool {
551
561
true
552
562
}
563
+
553
564
fn visit_leave_fn ( & mut self , _purity : uint , _proto : uint ,
554
565
_n_inputs : uint , _retstyle : uint ) -> bool { true }
555
566
@@ -628,11 +639,11 @@ fn test_repr() {
628
639
exact_test ( & ( & [ "hi" , "there" ] ) ,
629
640
"&[\" hi\" , \" there\" ]" ) ;
630
641
exact_test ( & ( P { a : 10 , b : 1.234 } ) ,
631
- "{a: 10, b: 1.234}" ) ;
642
+ "repr::P {a: 10, b: 1.234}" ) ;
632
643
exact_test ( & ( @P { a : 10 , b : 1.234 } ) ,
633
- "@{a: 10, b: 1.234}" ) ;
644
+ "@repr::P {a: 10, b: 1.234}" ) ;
634
645
exact_test ( & ( ~P { a : 10 , b : 1.234 } ) ,
635
- "~{a: 10, b: 1.234}" ) ;
646
+ "~repr::P {a: 10, b: 1.234}" ) ;
636
647
exact_test ( & ( 10u8 , ~"hello") ,
637
648
"(10u8, ~\" hello\" )" ) ;
638
649
exact_test ( & ( 10u16 , ~"hello") ,
@@ -643,5 +654,5 @@ fn test_repr() {
643
654
"(10u64, ~\" hello\" )" ) ;
644
655
645
656
struct Foo ;
646
- exact_test ( & ( ~[ Foo , Foo , Foo ] ) , "~[{}, {}, {} ]" ) ;
657
+ exact_test ( & ( ~[ Foo , Foo ] ) , "~[repr::test_repr::Foo, repr::test_repr::Foo ]" ) ;
647
658
}
0 commit comments