File tree 1 file changed +5
-3
lines changed 1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -616,18 +616,20 @@ impl<'a> Encoder<'a> {
616
616
}
617
617
618
618
pub fn buffer_encode < T : Encodable < Encoder < ' a > , IoError > > ( val : & T ) -> EncoderResult < Vec < u8 > > {
619
+ use std:: mem:: transmute;
619
620
let mut writer = io:: MemWriter :: new ( ) ;
620
- {
621
+ // FIXME: same as json rust-lang/rust#14302
622
+ unsafe {
621
623
let mut encoder = Encoder :: new ( & mut writer) ;
622
- try!( val. encode ( & mut encoder) ) ;
624
+ try!( val. encode ( transmute ( & mut encoder) ) ) ;
623
625
if encoder. error . is_err ( ) {
624
626
return Err ( encoder. error . unwrap_err ( ) )
625
627
}
626
628
}
627
629
Ok ( writer. unwrap ( ) )
628
630
}
629
631
630
- fn get_writer ( & ' a mut self ) -> & ' a mut io:: Writer {
632
+ fn get_writer < ' a > ( & ' a mut self ) -> & ' a mut io:: Writer {
631
633
if self . writers . len ( ) == 0 {
632
634
& mut self . writer as & ' a mut io:: Writer
633
635
} else {
You can’t perform that action at this time.
0 commit comments