@@ -548,6 +548,7 @@ fn kind_has_type_params(u8 kind_ch) -> bool {
548
548
// FIXME: It'd be great if we had u8 char literals.
549
549
if ( kind_ch == ( 'c' as u8 ) ) { ret false ; }
550
550
else if ( kind_ch == ( 'f' as u8 ) ) { ret true; }
551
+ else if ( kind_ch == ( 'y' as u8 ) ) { ret true ; }
551
552
else if ( kind_ch == ( 'o' as u8 ) ) { ret true; }
552
553
else if ( kind_ch == ( 't' as u8 ) ) { ret true; }
553
554
else if ( kind_ch == ( 'm' as u8 ) ) { ret false; }
@@ -582,12 +583,15 @@ fn lookup_def(session.session sess, int cnum, vec[ast.ident] path)
582
583
583
584
// FIXME: It'd be great if we had u8 char literals.
584
585
auto def;
585
- if ( kind_ch == ( 'c' as u8 ) ) { def = ast. def_const( did) ; }
586
- else if ( kind_ch == ( 'f' as u8 ) ) { def = ast. def_fn( did) ; }
587
- else if ( kind_ch == ( 'o' as u8 ) ) { def = ast. def_obj( did) ; }
588
- else if ( kind_ch == ( 't' as u8 ) ) { def = ast. def_ty( did) ; }
589
- else if ( kind_ch == ( 'm' as u8 ) ) { def = ast. def_mod( did) ; }
590
- else if ( kind_ch == ( 'n' as u8 ) ) { def = ast. def_native_mod( did) ; }
586
+ if ( kind_ch == ( 'c' as u8 ) ) { def = ast. def_const( did) ; }
587
+ else if ( kind_ch == ( 'f' as u8 ) ) { def = ast. def_fn( did) ; }
588
+ else if ( kind_ch == ( 'y' as u8 ) ) { def = ast. def_ty( did) ; }
589
+ else if ( kind_ch == ( 'o' as u8 ) ) { def = ast. def_obj( did) ; }
590
+ else if ( kind_ch == ( 't' as u8 ) ) {
591
+ // We treat references to tags as references to types.
592
+ def = ast. def_ty( did) ;
593
+ } else if ( kind_ch == ( 'm' as u8 ) ) { def = ast. def_mod( did) ; }
594
+ else if ( kind_ch == ( 'n' as u8 ) ) { def = ast. def_native_mod( did) ; }
591
595
else if ( kind_ch == ( 'v' as u8 ) ) {
592
596
auto tid = get_variant_tag_id( ebml_r) ;
593
597
tid = tup( cnum, tid. _1) ;
0 commit comments