我是Rust的新手.如何强制将值从内部范围移动到外部而不是借用?
let mut r_buf = BufReader::new(file.unwrap());
let mut eof = false;
while !eof {
let piece = r_buf.fill_buf();
if piece.is_ok() {
let mut piece = piece.unwrap();
let piece_len = piece.len();
if opt.compress {
let deflated = deflate_bytes(piece);
if deflated.is_none() {
panic!(format!("Cant deflate file {}", path.to_str().unwrap_or("")));
}
let deflate_unwrapped = deflated.unwrap();
let deflate_deref = deflate_unwrapped.deref();
piece = deflate_deref;
}
/* bf: &mut BufStream<File>*/
let w = bf.write(piece);
if w.is_ok() {
written_bytes = w.unwrap();
}
Run Code Online (Sandbox Code Playgroud)
我不能移动&[u8]从deflate_deref到piece.我试过 …
rust ×1