Skip to content

Commit 290ab3f

Browse files
Temporary fix for lifetime issues (same as rust-lang/rust#14302)
1 parent f46b7f8 commit 290ab3f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/bencode.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -616,18 +616,20 @@ impl<'a> Encoder<'a> {
616616
}
617617

618618
pub fn buffer_encode<T: Encodable<Encoder<'a>, IoError>>(val: &T) -> EncoderResult<Vec<u8>> {
619+
use std::mem::transmute;
619620
let mut writer = io::MemWriter::new();
620-
{
621+
// FIXME: same as json rust-lang/rust#14302
622+
unsafe {
621623
let mut encoder = Encoder::new(&mut writer);
622-
try!(val.encode(&mut encoder));
624+
try!(val.encode(transmute(&mut encoder)));
623625
if encoder.error.is_err() {
624626
return Err(encoder.error.unwrap_err())
625627
}
626628
}
627629
Ok(writer.unwrap())
628630
}
629631

630-
fn get_writer(&'a mut self) -> &'a mut io::Writer {
632+
fn get_writer<'a>(&'a mut self) -> &'a mut io::Writer {
631633
if self.writers.len() == 0 {
632634
&mut self.writer as &'a mut io::Writer
633635
} else {

0 commit comments

Comments
 (0)