@@ -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 } ;
@@ -560,18 +560,20 @@ pub fn write_target_uint(
560560 mut target : & mut [ u8 ] ,
561561 data : u128 ,
562562) -> Result < ( ) , io:: Error > {
563- let len = target. len ( ) ;
564563 match endianness {
565- Endian :: Little => target. write_uint128 :: < LittleEndian > ( data, len) ,
566- Endian :: Big => target. write_uint128 :: < BigEndian > ( data, len) ,
567- }
564+ Endian :: Little => target. write ( & data. to_le_bytes ( ) ) ?,
565+ Endian :: Big => target. write ( & data. to_be_bytes ( ) ) ?,
566+ } ;
567+ Ok ( ( ) )
568568}
569569
570570#[ inline]
571571pub fn read_target_uint ( endianness : Endian , mut source : & [ u8 ] ) -> Result < u128 , io:: Error > {
572+ let mut buf = [ 0 ; 16 ] ;
573+ source. read ( & mut buf) ?;
572574 match endianness {
573- Endian :: Little => source . read_uint128 :: < LittleEndian > ( source . len ( ) ) ,
574- Endian :: Big => source . read_uint128 :: < BigEndian > ( source . len ( ) ) ,
575+ Endian :: Little => Ok ( u128 :: from_le_bytes ( buf ) ) ,
576+ Endian :: Big => Ok ( u128 :: from_be_bytes ( buf ) ) ,
575577 }
576578}
577579
0 commit comments