@@ -42,6 +42,8 @@ use rustc::hir::{self, PatKind};
4242use rustc:: hir:: intravisit:: Visitor ;
4343use rustc:: hir:: intravisit;
4444
45+ use rustc_i128:: { u128, i128} ;
46+
4547use super :: index_builder:: { FromId , IndexBuilder , Untracked } ;
4648
4749pub struct EncodeContext < ' a , ' tcx : ' a > {
@@ -75,12 +77,14 @@ impl<'a, 'tcx> Encoder for EncodeContext<'a, 'tcx> {
7577
7678 encoder_methods ! {
7779 emit_usize( usize ) ;
80+ emit_u128( u128 ) ;
7881 emit_u64( u64 ) ;
7982 emit_u32( u32 ) ;
8083 emit_u16( u16 ) ;
8184 emit_u8( u8 ) ;
8285
8386 emit_isize( isize ) ;
87+ emit_i128( i128 ) ;
8488 emit_i64( i64 ) ;
8589 emit_i32( i32 ) ;
8690 emit_i16( i16 ) ;
@@ -259,7 +263,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
259263
260264 let data = VariantData {
261265 kind : variant. kind ,
262- disr : variant. disr_val . to_u64_unchecked ( ) ,
266+ disr : variant. disr_val . to_u128_unchecked ( ) ,
263267 struct_ctor : None
264268 } ;
265269
@@ -410,7 +414,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
410414
411415 let data = VariantData {
412416 kind : variant. kind ,
413- disr : variant. disr_val . to_u64_unchecked ( ) ,
417+ disr : variant. disr_val . to_u128_unchecked ( ) ,
414418 struct_ctor : Some ( def_id. index )
415419 } ;
416420
@@ -672,7 +676,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
672676 } ;
673677 EntryKind :: Struct ( self . lazy ( & VariantData {
674678 kind : variant. kind ,
675- disr : variant. disr_val . to_u64_unchecked ( ) ,
679+ disr : variant. disr_val . to_u128_unchecked ( ) ,
676680 struct_ctor : struct_ctor
677681 } ) )
678682 }
@@ -681,7 +685,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
681685
682686 EntryKind :: Union ( self . lazy ( & VariantData {
683687 kind : variant. kind ,
684- disr : variant. disr_val . to_u64_unchecked ( ) ,
688+ disr : variant. disr_val . to_u128_unchecked ( ) ,
685689 struct_ctor : None
686690 } ) )
687691 }
0 commit comments