1- use intrinsic:: { tydesc, get_tydesc, visit_tydesc, ty_visitor} ;
1+ // xfail-test
2+ use intrinsic:: { TyDesc , get_tydesc, visit_tydesc, TyVisitor } ;
23enum my_visitor = @{ mut types: ~[ str ] } ;
34
4- impl of ty_visitor for my_visitor {
5+ impl my_visitor : TyVisitor {
56 fn visit_bot ( ) -> bool {
6- self . types += [ "bot" ] ;
7+ self . types += ~ [ "bot" ] ;
78 error ! ( "visited bot type" ) ;
89 true
910 }
1011 fn visit_nil ( ) -> bool {
11- self . types += [ "nil" ] ;
12+ self . types += ~ [ "nil" ] ;
1213 error ! ( "visited nil type" ) ;
1314 true
1415 }
1516 fn visit_bool ( ) -> bool {
16- self . types += [ "bool" ] ;
17+ self . types += ~ [ "bool" ] ;
1718 error ! ( "visited bool type" ) ;
1819 true
1920 }
2021 fn visit_int ( ) -> bool {
21- self . types += [ "int" ] ;
22+ self . types += ~ [ "int" ] ;
2223 error ! ( "visited int type" ) ;
2324 true
2425 }
2526 fn visit_i8 ( ) -> bool {
26- self . types += [ "i8" ] ;
27+ self . types += ~ [ "i8" ] ;
2728 error ! ( "visited i8 type" ) ;
2829 true
2930 }
3031 fn visit_i16 ( ) -> bool {
31- self . types += [ "i16" ] ;
32+ self . types += ~ [ "i16" ] ;
3233 error ! ( "visited i16 type" ) ;
3334 true
3435 }
@@ -54,41 +55,41 @@ impl of ty_visitor for my_visitor {
5455 fn visit_estr_fixed ( _sz : uint , _sz : uint ,
5556 _align : uint ) -> bool { true }
5657
57- fn visit_box ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
58- fn visit_uniq ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
59- fn visit_ptr ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
60- fn visit_rptr ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
58+ fn visit_box ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
59+ fn visit_uniq ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
60+ fn visit_ptr ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
61+ fn visit_rptr ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
6162
62- fn visit_vec ( _mtbl : uint , inner : * tydesc ) -> bool {
63- self . types += [ "[" ] ;
64- visit_tydesc ( inner, my_visitor ( * self ) as ty_visitor ) ;
65- self . types += [ "]" ] ;
63+ fn visit_vec ( _mtbl : uint , inner : * TyDesc ) -> bool {
64+ self . types += ~ [ "[" ] ;
65+ visit_tydesc ( inner, my_visitor ( * self ) as TyVisitor ) ;
66+ self . types += ~ [ "]" ] ;
6667 true
6768 }
68- fn visit_unboxed_vec ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
69- fn visit_evec_box ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
70- fn visit_evec_uniq ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
71- fn visit_evec_slice ( _mtbl : uint , _inner : * tydesc ) -> bool { true }
69+ fn visit_unboxed_vec ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
70+ fn visit_evec_box ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
71+ fn visit_evec_uniq ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
72+ fn visit_evec_slice ( _mtbl : uint , _inner : * TyDesc ) -> bool { true }
7273 fn visit_evec_fixed ( _n : uint , _sz : uint , _align : uint ,
73- _mtbl : uint , _inner : * tydesc ) -> bool { true }
74+ _mtbl : uint , _inner : * TyDesc ) -> bool { true }
7475
7576 fn visit_enter_rec ( _n_fields : uint ,
7677 _sz : uint , _align : uint ) -> bool { true }
7778 fn visit_rec_field ( _i : uint , _name : & str ,
78- _mtbl : uint , _inner : * tydesc ) -> bool { true }
79+ _mtbl : uint , _inner : * TyDesc ) -> bool { true }
7980 fn visit_leave_rec ( _n_fields : uint ,
8081 _sz : uint , _align : uint ) -> bool { true }
8182
8283 fn visit_enter_class ( _n_fields : uint ,
8384 _sz : uint , _align : uint ) -> bool { true }
8485 fn visit_class_field ( _i : uint , _name : & str ,
85- _mtbl : uint , _inner : * tydesc ) -> bool { true }
86+ _mtbl : uint , _inner : * TyDesc ) -> bool { true }
8687 fn visit_leave_class ( _n_fields : uint ,
8788 _sz : uint , _align : uint ) -> bool { true }
8889
8990 fn visit_enter_tup ( _n_fields : uint ,
9091 _sz : uint , _align : uint ) -> bool { true }
91- fn visit_tup_field ( _i : uint , _inner : * tydesc ) -> bool { true }
92+ fn visit_tup_field ( _i : uint , _inner : * TyDesc ) -> bool { true }
9293 fn visit_leave_tup ( _n_fields : uint ,
9394 _sz : uint , _align : uint ) -> bool { true }
9495
@@ -98,7 +99,7 @@ impl of ty_visitor for my_visitor {
9899 _disr_val : int ,
99100 _n_fields : uint ,
100101 _name : & str ) -> bool { true }
101- fn visit_enum_variant_field ( _i : uint , _inner : * tydesc ) -> bool { true }
102+ fn visit_enum_variant_field ( _i : uint , _inner : * TyDesc ) -> bool { true }
102103 fn visit_leave_enum_variant ( _variant : uint ,
103104 _disr_val : int ,
104105 _n_fields : uint ,
@@ -108,8 +109,8 @@ impl of ty_visitor for my_visitor {
108109
109110 fn visit_enter_fn ( _purity : uint , _proto : uint ,
110111 _n_inputs : uint , _retstyle : uint ) -> bool { true }
111- fn visit_fn_input ( _i : uint , _mode : uint , _inner : * tydesc ) -> bool { true }
112- fn visit_fn_output ( _retstyle : uint , _inner : * tydesc ) -> bool { true }
112+ fn visit_fn_input ( _i : uint , _mode : uint , _inner : * TyDesc ) -> bool { true }
113+ fn visit_fn_output ( _retstyle : uint , _inner : * TyDesc ) -> bool { true }
113114 fn visit_leave_fn ( _purity : uint , _proto : uint ,
114115 _n_inputs : uint , _retstyle : uint ) -> bool { true }
115116
@@ -121,17 +122,17 @@ impl of ty_visitor for my_visitor {
121122 fn visit_self ( ) -> bool { true }
122123 fn visit_type ( ) -> bool { true }
123124 fn visit_opaque_box ( ) -> bool { true }
124- fn visit_constr ( _inner : * tydesc ) -> bool { true }
125+ fn visit_constr ( _inner : * TyDesc ) -> bool { true }
125126 fn visit_closure_ptr ( _ck : uint ) -> bool { true }
126127}
127128
128- fn visit_ty < T > ( v : ty_visitor ) {
129+ fn visit_ty < T > ( v : TyVisitor ) {
129130 visit_tydesc ( get_tydesc :: < T > ( ) , v) ;
130131}
131132
132133fn main ( ) {
133134 let v = my_visitor ( @{ mut types: ~[ ] } ) ;
134- let vv = v as ty_visitor ;
135+ let vv = v as TyVisitor ;
135136
136137 visit_ty :: < bool > ( vv) ;
137138 visit_ty :: < int > ( vv) ;
0 commit comments