@@ -98,10 +98,10 @@ mod value;
9898use std:: convert:: TryFrom ;
9999use std:: fmt;
100100use std:: io;
101+ use std:: io:: { Read , Write } ;
101102use std:: num:: NonZeroU32 ;
102103use std:: sync:: atomic:: { AtomicU32 , Ordering } ;
103104
104- use byteorder:: { BigEndian , LittleEndian , ReadBytesExt , WriteBytesExt } ;
105105use rustc_ast:: LitKind ;
106106use rustc_data_structures:: fx:: FxHashMap ;
107107use rustc_data_structures:: sync:: { HashMapExt , Lock } ;
@@ -561,18 +561,20 @@ pub fn write_target_uint(
561561 mut target : & mut [ u8 ] ,
562562 data : u128 ,
563563) -> Result < ( ) , io:: Error > {
564- let len = target. len ( ) ;
565564 match endianness {
566- Endian :: Little => target. write_uint128 :: < LittleEndian > ( data, len) ,
567- Endian :: Big => target. write_uint128 :: < BigEndian > ( data, len) ,
568- }
565+ Endian :: Little => target. write ( & data. to_le_bytes ( ) ) ?,
566+ Endian :: Big => target. write ( & data. to_be_bytes ( ) ) ?,
567+ } ;
568+ Ok ( ( ) )
569569}
570570
571571#[ inline]
572572pub fn read_target_uint ( endianness : Endian , mut source : & [ u8 ] ) -> Result < u128 , io:: Error > {
573+ let mut buf = [ 0 ; 16 ] ;
574+ source. read ( & mut buf) ?;
573575 match endianness {
574- Endian :: Little => source . read_uint128 :: < LittleEndian > ( source . len ( ) ) ,
575- Endian :: Big => source . read_uint128 :: < BigEndian > ( source . len ( ) ) ,
576+ Endian :: Little => Ok ( u128 :: from_le_bytes ( buf ) ) ,
577+ Endian :: Big => Ok ( u128 :: from_be_bytes ( buf ) ) ,
576578 }
577579}
578580
0 commit comments