@@ -360,7 +360,8 @@ fn encode_obj_type_id(&ebml.writer ebml_w, &ast.def_id id) {
360
360
361
361
fn encode_tag_variant_info ( @trans. crate_ctxt cx , & ebml. writer ebml_w ,
362
362
ast. def_id did , vec[ ast. variant] variants ,
363
- & mutable vec[ tup( int, uint) ] index ) {
363
+ & mutable vec[ tup( int, uint) ] index ,
364
+ vec[ ast. ty_param] ty_params ) {
364
365
for ( ast. variant variant in variants) {
365
366
index += vec ( tup ( variant. node . id . _1 , ebml_w. writer . tell ( ) ) ) ;
366
367
@@ -373,6 +374,7 @@ fn encode_tag_variant_info(@trans.crate_ctxt cx, &ebml.writer ebml_w,
373
374
encode_symbol ( cx, ebml_w, variant. node . id ) ;
374
375
}
375
376
encode_discriminant ( cx, ebml_w, variant. node . id ) ;
377
+ encode_type_params ( ebml_w, ty_params) ;
376
378
ebml. end_tag ( ebml_w) ;
377
379
}
378
380
}
@@ -428,7 +430,7 @@ fn encode_info_for_item(@trans.crate_ctxt cx, &ebml.writer ebml_w,
428
430
}
429
431
ebml. end_tag ( ebml_w) ;
430
432
431
- encode_tag_variant_info ( cx, ebml_w, did, variants, index) ;
433
+ encode_tag_variant_info ( cx, ebml_w, did, variants, index, tps ) ;
432
434
}
433
435
case ( ast. item_obj ( ?id, _, ?tps, ?odid, ?ann) ) {
434
436
ebml. start_tag ( ebml_w, tag_items_data_item) ;
0 commit comments