mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-22 00:00:03 +03:00
rust: BkeySC now has correct lifetime on BtreeIter
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
8a7e3344fe
commit
d5b0d0892a
@ -2,13 +2,16 @@
|
||||
|
||||
use crate::c;
|
||||
use crate::fs::Fs;
|
||||
use crate::btree::BtreeIter;
|
||||
use std::ffi::CStr;
|
||||
use std::fmt;
|
||||
use std::marker::PhantomData;
|
||||
use std::mem::transmute;
|
||||
|
||||
pub struct BkeySC<'a> {
|
||||
pub k: &'a c::bkey,
|
||||
pub v: &'a c::bch_val,
|
||||
pub k: &'a c::bkey,
|
||||
pub v: &'a c::bch_val,
|
||||
pub(crate) iter: PhantomData<&'a mut BtreeIter<'a>>
|
||||
}
|
||||
|
||||
pub enum BkeyValC<'a> {
|
||||
|
@ -76,7 +76,7 @@ impl<'t> BtreeIter<'t> {
|
||||
unsafe {
|
||||
let k = c::bch2_btree_iter_peek_upto(&mut self.raw, end);
|
||||
errptr_to_result_c(k.k)
|
||||
.map(|_| if !k.k.is_null() { Some(BkeySC { k: &*k.k, v: &*k.v }) } else { None } )
|
||||
.map(|_| if !k.k.is_null() { Some(BkeySC { k: &*k.k, v: &*k.v, iter: PhantomData }) } else { None } )
|
||||
}
|
||||
}
|
||||
|
||||
@ -89,7 +89,7 @@ impl<'t> BtreeIter<'t> {
|
||||
let k = c::bch2_btree_iter_peek_and_restart_outlined(&mut self.raw);
|
||||
|
||||
errptr_to_result_c(k.k)
|
||||
.map(|_| if !k.k.is_null() { Some(BkeySC{ k: &*k.k, v: &*k.v }) } else { None } )
|
||||
.map(|_| if !k.k.is_null() { Some(BkeySC{ k: &*k.k, v: &*k.v, iter: PhantomData }) } else { None } )
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user