@@ -346,7 +346,6 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
346346 // Type no longer exists, vestigial function.
347347 fn visit_vec ( & mut self , _mtbl : uint , _inner : * TyDesc ) -> bool { fail ! ( ) ; }
348348
349-
350349 fn visit_unboxed_vec ( & mut self , mtbl : uint , inner : * TyDesc ) -> bool {
351350 do self . get :: < raw:: Vec < ( ) > > |this, b| {
352351 this. write_unboxed_vec_repr ( mtbl, b, inner) ;
@@ -413,11 +412,13 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
413412 true
414413 }
415414
416- fn visit_enter_class ( & mut self , _n_fields : uint ,
415+ fn visit_enter_class ( & mut self , name : & str , _n_fields : uint ,
417416 _sz : uint , _align : uint ) -> bool {
417+ self . writer . write ( name. as_bytes ( ) ) ;
418418 self . writer . write ( [ '{' as u8 ] ) ;
419419 true
420420 }
421+
421422 fn visit_class_field ( & mut self , i : uint , name : & str ,
422423 mtbl : uint , inner : * TyDesc ) -> bool {
423424 if i != 0 {
@@ -429,7 +430,8 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
429430 self . visit_inner ( inner) ;
430431 true
431432 }
432- fn visit_leave_class ( & mut self , _n_fields : uint ,
433+
434+ fn visit_leave_class ( & mut self , _name : & str , _n_fields : uint ,
433435 _sz : uint , _align : uint ) -> bool {
434436 self . writer . write ( [ '}' as u8 ] ) ;
435437 true
@@ -440,13 +442,15 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
440442 self . writer . write ( [ '(' as u8 ] ) ;
441443 true
442444 }
445+
443446 fn visit_tup_field ( & mut self , i : uint , inner : * TyDesc ) -> bool {
444447 if i != 0 {
445448 self . writer . write ( ", " . as_bytes ( ) ) ;
446449 }
447450 self . visit_inner ( inner) ;
448451 true
449452 }
453+
450454 fn visit_leave_tup ( & mut self , _n_fields : uint ,
451455 _sz : uint , _align : uint ) -> bool {
452456 if _n_fields == 1 {
@@ -544,12 +548,15 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
544548
545549 fn visit_enter_fn ( & mut self , _purity : uint , _proto : uint ,
546550 _n_inputs : uint , _retstyle : uint ) -> bool { true }
551+
547552 fn visit_fn_input ( & mut self , _i : uint , _mode : uint , _inner : * TyDesc ) -> bool {
548553 true
549554 }
555+
550556 fn visit_fn_output ( & mut self , _retstyle : uint , _inner : * TyDesc ) -> bool {
551557 true
552558 }
559+
553560 fn visit_leave_fn ( & mut self , _purity : uint , _proto : uint ,
554561 _n_inputs : uint , _retstyle : uint ) -> bool { true }
555562
@@ -628,11 +635,11 @@ fn test_repr() {
628635 exact_test ( & ( & [ "hi" , "there" ] ) ,
629636 "&[\" hi\" , \" there\" ]" ) ;
630637 exact_test ( & ( P { a : 10 , b : 1.234 } ) ,
631- "{a: 10, b: 1.234}" ) ;
638+ "repr::P {a: 10, b: 1.234}" ) ;
632639 exact_test ( & ( @P { a : 10 , b : 1.234 } ) ,
633- "@{a: 10, b: 1.234}" ) ;
640+ "@repr::P {a: 10, b: 1.234}" ) ;
634641 exact_test ( & ( ~P { a : 10 , b : 1.234 } ) ,
635- "~{a: 10, b: 1.234}" ) ;
642+ "~repr::P {a: 10, b: 1.234}" ) ;
636643 exact_test ( & ( 10u8 , ~"hello") ,
637644 "(10u8, ~\" hello\" )" ) ;
638645 exact_test ( & ( 10u16 , ~"hello") ,
@@ -643,5 +650,5 @@ fn test_repr() {
643650 "(10u64, ~\" hello\" )" ) ;
644651
645652 struct Foo ;
646- exact_test ( & ( ~[ Foo , Foo , Foo ] ) , "~[{}, {}, {}]" ) ;
653+ exact_test ( & ( ~[ Foo , Foo ] ) , "~[repr::test_repr::Foo {}, repr::test_repr::Foo {}]" ) ;
647654}
0 commit comments