Split trait Representable into its mandatory part and an optional part
[?]
Feb 14, 2021, 12:07 PM
QYDGYIZRNFRIQD7RUCY5YAN3F2THZA74E5UOHPIFWSULEJFAFVJQCDependencies
- [2]
LSQ6V7M6Cleanup + docs - [3]
T73WR2BXCleaner RC increments for keys and values containing references + more comments in `del` - [4]
OTWDDJE7Trait/type cleanup - [5]
H3FVSQIQUnsized pages - [6]
APPY2E7MUnsized deletions + custom sizes back - [7]
UUUVNC4DDebugging/cleanup around cursors - [8]
OFINGD26implementing prev() on cursors (+ some cleanup) - [9]
KMT3MF5NDrop a database - [10]
DV4A2LR7Double-inserts (rebalancing near an internal deletion) - [11]
73Z2UB3JCleanup + comments - [12]
X3QVVQISMore debugging (del seems to work now) - [13]
SO25TWFLA few features for integrating it into Pijul - [14]
YWFYZNLZCleanup + inter-process concurrency - [15]
W26CFMAQImproving safety of cursors - [16]
XEU2QVLCDebugging after plugging this into Pijul - [17]
6UVFCERMFormatting, debugging, etc. - [18]
EAAYH6BQDebugging put - [19]
G4JEQLLXDebugging synchronisation - [20]
Q7DRIBBRDebugging replace (which cannot be del+put) - [21]
6DCQHIFPMinor changes after benchmarking - [22]
EYNN7RLSTests++ (including UUID) - [23]
6DMPXOATMore debugging - [24]
NXMFNPZ7Comments + debugging drop - [25]
ESUI5EUZMaking as_page() unsafe - [26]
AOX2XQISActually, with the correct functions, Unsized pages are always slower than Sized pages (especially for writing) - [27]
HN6Z5DU4Cleanup - [28]
ONES3V46reference counting works for put - [29]
QEUTVAZ4Splitting btree::page - [30]
T7QB6QEPAdding debug.rs - [31]
KX3WVNZWTesting/debugging "rebalance causes split of the root" - [32]
LROAI3NBTwo iterators (convenience functions), along with tests to move cursors (put and del still destroy cursors though) - [33]
YXKP4AIWNew file locks, with multiple sets of free pages - [34]
UAQX27N4Tests - [35]
MSRWB47YDeletions at immutable leaves weren't really deleting anything - [36]
RV2L6CZWA few comments - [37]
OP6SVMODResetting history - [38]
WS4ZQM4RDebugging, tests, etc.
Change contents
- replacement in sanakirja-core/src/lib.rs at line 36[2.303]→[3.0:44](∅→∅),[3.119]→[3.0:44](∅→∅),[3.506]→[3.506:701](∅→∅),[3.701]→[2.304:593](∅→∅),[2.593]→[3.701:732](∅→∅),[3.701]→[3.701:732](∅→∅),[3.732]→[2.594:724](∅→∅),[2.724]→[3.0:64](∅→∅),[3.732]→[3.0:64](∅→∅),[3.64]→[2.725:894](∅→∅),[2.894]→[3.116:196](∅→∅),[3.64]→[3.116:196](∅→∅),[3.196]→[2.895:1004](∅→∅),[2.1004]→[3.65:150](∅→∅),[3.196]→[3.65:150](∅→∅),[3.166]→[3.65:150](∅→∅),[3.150]→[2.1005:1129](∅→∅),[2.1129]→[3.50:98](∅→∅),[3.150]→[3.50:98](∅→∅),[3.50]→[3.50:98](∅→∅),[3.98]→[2.1130:1131](∅→∅)
pub trait Representable: core::fmt::Debug {/// If this value is an offset to another page at offset `offset`,/// return `Some(offset)`. Return `None` else.fn page_offsets(&self) -> Self::PageOffsets;const ALIGN: usize;/// Some datastructures expect this to be at least the memory size/// of `Self` (as returned by `core::mem::size_of::<Self>()`). For/// example, the sized implementation of B trees sometimes/// allocates an instance of `Self` on the stack, and copy it from/// theconst SIZE: Option<usize>;/// If `Self::SIZE.is_some()`, this must return the same/// value. The default implementation is `Self;:SIZE.unwrap()`.fn size(&self) -> usize {Self::SIZE.unwrap()}/// Form a pointer to `Self` from a raw pointer. The purpose of/// this function is that the output can be a slim or a fat/// pointer (like for `&[u8]`).unsafe fn from_raw_ptr<'a, T: LoadPage>(txn: &T, p: *const u8) -> &'a Self;/// Read the size from an on-page entry. If `Self::SIZE.is_some()`/// this must be the same value.unsafe fn onpage_size(_: *const u8) -> usize {Self::SIZE.unwrap()}/// Write to a page. Must not overwrite the allocated size, but/// this isn't checkde (which is why it's unsafe).unsafe fn write_to_page(&self, p: *mut u8);pub trait Storable: core::fmt::Debug { - edit in sanakirja-core/src/lib.rs at line 43
/// If this value is an offset to another page at offset `offset`,/// return `Some(offset)`. Return `None` else.fn page_offsets(&self) -> Self::PageOffsets; - replacement in sanakirja-core/src/lib.rs at line 60
impl Representable for $t {impl Storable for $t { - edit in sanakirja-core/src/lib.rs at line 65
const ALIGN: usize = core::mem::align_of::<Self>();const SIZE: Option<usize> = Some(core::mem::size_of::<Self>()); - replacement in sanakirja-core/src/lib.rs at line 68
unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self {&*(p as *const Self)}impl UnsizedStorable for $t {const ALIGN: usize = core::mem::align_of::<$t>();/// If `Self::SIZE.is_some()`, this must return the same/// value. The default implementation is `Self;:SIZE.unwrap()`.fn size(&self) -> usize {core::mem::size_of::<Self>() - edit in sanakirja-core/src/lib.rs at line 77
/// Read the size from an on-page entry.unsafe fn onpage_size(_: *const u8) -> usize {core::mem::size_of::<Self>()}/// Write to a page. Must not overwrite the allocated size, but/// this isn't checked (which is why it's unsafe). - edit in sanakirja-core/src/lib.rs at line 88
unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self {&*(p as *const Self)} - replacement in sanakirja-core/src/lib.rs at line 107
impl Representable for [u8] {/// Types that can be stored on disk.pub trait UnsizedStorable: Storable {const ALIGN: usize;/// If `Self::SIZE.is_some()`, this must return the same/// value. The default implementation is `Self;:SIZE.unwrap()`.fn size(&self) -> usize;/// Read the size from an on-page entry. If `Self::SIZE.is_some()`/// this must be the same value.unsafe fn onpage_size(_: *const u8) -> usize;/// Write to a page. Must not overwrite the allocated size, but/// this isn't checked (which is why it's unsafe).unsafe fn write_to_page(&self, p: *mut u8);unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self;}impl Storable for [u8] { - edit in sanakirja-core/src/lib.rs at line 131
const ALIGN: usize = 2;const SIZE: Option<usize> = None; - edit in sanakirja-core/src/lib.rs at line 134
}impl UnsizedStorable for [u8] {const ALIGN: usize = 2; - replacement in sanakirja-core/src/lib.rs at line 158
unsafe fn read<T: LoadPage, K: Representable + ?Sized, V: Representable + ?Sized>(unsafe fn read<T: LoadPage, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/lib.rs at line 169
fn alloc_size<K: Representable + ?Sized, V: Representable + ?Sized>(k: &K, v: &V) -> usize {fn alloc_size<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>(k: &K, v: &V) -> usize { - replacement in sanakirja-core/src/lib.rs at line 175
unsafe fn entry_size<K: Representable + ?Sized, V: Representable + ?Sized>(k: *const u8) -> usize {unsafe fn entry_size<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>(k: *const u8,) -> usize { - replacement in sanakirja-core/src/btree/put.rs at line 9
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: Storable + ?Sized + core::fmt::Debug,V: Storable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/put.rs at line 78
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: Storable + ?Sized + core::fmt::Debug,V: Storable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/put.rs at line 181
K: Representable + ?Sized,V: Representable + ?Sized,K: Storable + ?Sized,V: Storable + ?Sized, - replacement in sanakirja-core/src/btree/page_unsized.rs at line 20
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: UnsizedStorable + ?Sized + core::fmt::Debug,V: UnsizedStorable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page_unsized.rs at line 270
fn size<K: Representable + ?Sized, V: Representable + ?Sized>(fn size<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized.rs at line 291
impl<K: Representable + ?Sized, V: Representable + ?Sized> super::BTreePage<K, V> for Page<K, V> {impl<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized> super::BTreePage<K, V>for Page<K, V>{ - replacement in sanakirja-core/src/btree/page_unsized.rs at line 438
unsafe fn lookup<T: LoadPage, K: Representable + ?Sized, V: Representable + ?Sized>(unsafe fn lookup<T: LoadPage, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized.rs at line 542
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: UnsizedStorable + ?Sized + core::fmt::Debug,V: UnsizedStorable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page_unsized.rs at line 580
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: UnsizedStorable + ?Sized + core::fmt::Debug,V: UnsizedStorable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page_unsized.rs at line 609
fn clone<K: Representable + ?Sized, V: Representable + ?Sized, L: Alloc>(fn clone<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized, L: Alloc>( - replacement in sanakirja-core/src/btree/page_unsized.rs at line 637
fn alloc<K: Representable + ?Sized, V: Representable + ?Sized, L: Alloc>(fn alloc<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized, L: Alloc>( - replacement in sanakirja-core/src/btree/page_unsized/rebalance.rs at line 7
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: UnsizedStorable + ?Sized + core::fmt::Debug,V: UnsizedStorable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page_unsized/rebalance.rs at line 98
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: UnsizedStorable + ?Sized + core::fmt::Debug,V: UnsizedStorable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page_unsized/put.rs at line 7
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: UnsizedStorable + ?Sized + core::fmt::Debug,V: UnsizedStorable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page_unsized/put.rs at line 95
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: UnsizedStorable + ?Sized + core::fmt::Debug,V: UnsizedStorable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 6
fn current_size<K: Representable + ?Sized, V: Representable + ?Sized>(fn current_size<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 15
fn truncate_left<T, K: Representable + ?Sized, V: Representable + ?Sized>(fn truncate_left<T, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 21
fn alloc_insert<K: Representable + ?Sized, V: Representable + ?Sized>(fn alloc_insert<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 30
fn offset_slice<'a, K: Representable + ?Sized, V: Representable + ?Sized>(fn offset_slice<'a, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 33
fn kv<'a, T: LoadPage, K: Representable + ?Sized, V: Representable + ?Sized>(fn kv<'a, T: LoadPage, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 68
fn current_size<K: Representable + ?Sized, V: Representable + ?Sized>(fn current_size<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 99
fn truncate_left<T, K: Representable + ?Sized, V: Representable + ?Sized>(fn truncate_left<T, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 133
fn alloc_insert<K: Representable + ?Sized, V: Representable + ?Sized>(fn alloc_insert<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 166
fn offset_slice<'a, K: Representable + ?Sized, V: Representable + ?Sized>(fn offset_slice<'a, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 177
fn kv<'a, T: LoadPage, K: Representable + ?Sized, V: Representable + ?Sized>(fn kv<'a, T: LoadPage, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 193
fn current_size<K: Representable + ?Sized, V: Representable + ?Sized>(fn current_size<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 226
fn truncate_left<T, K: Representable + ?Sized, V: Representable + ?Sized>(fn truncate_left<T, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 268
fn alloc_insert<K: Representable + ?Sized, V: Representable + ?Sized>(fn alloc_insert<K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 306
fn offset_slice<'a, K: Representable + ?Sized, V: Representable + ?Sized>(fn offset_slice<'a, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page_unsized/alloc.rs at line 318
fn kv<'a, T: LoadPage, K: Representable + ?Sized, V: Representable + ?Sized>(fn kv<'a, T: LoadPage, K: UnsizedStorable + ?Sized, V: UnsizedStorable + ?Sized>( - replacement in sanakirja-core/src/btree/page.rs at line 29
impl<K: Representable, V: Representable> super::BTreePage<K, V> for Page<K, V> {impl<K: Storable, V: Storable> super::BTreePage<K, V> for Page<K, V> { - replacement in sanakirja-core/src/btree/page.rs at line 48
txn: &T,_txn: &T, - replacement in sanakirja-core/src/btree/page.rs at line 57
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 62[3.3200]→[3.3200:3289](∅→∅),[3.3289]→[3.3289:3312](∅→∅),[3.3312]→[3.3312:3428](∅→∅),[3.3428]→[3.3428:3470](∅→∅)
let (k, v) = read::<T, K, V>(txn, page.data.as_ptr().add(off as usize));Some((K::from_raw_ptr(txn, k as *const u8),V::from_raw_ptr(txn, v as *const u8),0,))let kv = &*(page.data.as_ptr().add(off as usize) as *const Tuple<K, V>);Some((&kv.k, &kv.v, 0)) - replacement in sanakirja-core/src/btree/page.rs at line 69[3.3648]→[3.3648:3747](∅→∅),[3.3747]→[3.3747:3770](∅→∅),[3.3770]→[3.3770:3886](∅→∅),[3.3886]→[3.3886:3939](∅→∅)
let (k, v) = read::<T, K, V>(txn, page.data.as_ptr().add((off & 0xfff) as usize));Some((K::from_raw_ptr(txn, k as *const u8),V::from_raw_ptr(txn, v as *const u8),off & !0xfff,))let kv = &*(page.data.as_ptr().add((off as usize) & 0xfff) as *const Tuple<K, V>);Some((&kv.k, &kv.v, off & !0xfff)) - replacement in sanakirja-core/src/btree/page.rs at line 75
fn current_size(page: crate::Page, c: &Self::Cursor) -> usize {fn current_size(_page: crate::Page, c: &Self::Cursor) -> usize { - replacement in sanakirja-core/src/btree/page.rs at line 77[3.4095]→[3.4095:4139](∅→∅),[3.4139]→[2.7161:7213](∅→∅),[2.7213]→[3.4176:4436](∅→∅),[3.4176]→[3.4176:4436](∅→∅)
unsafe {if c.is_leaf {core::mem::size_of::<Tuple<K, V>>()} else {8 + entry_size::<K, V>(page.data.as_ptr().add((u64::from_le(*(page.data.as_ptr().add(HDR) as *const u64).add(c.cur as usize))& 0xfff) as usize,))}if c.is_leaf {core::mem::size_of::<Tuple<K, V>>()} else {8 + core::mem::size_of::<Tuple<K, V>>() - replacement in sanakirja-core/src/btree/page.rs at line 135
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 172
impl<K: Representable + core::fmt::Debug, V: Representable + core::fmt::Debug>super::BTreeMutPage<K, V> for Page<K, V>impl<K: Storable + core::fmt::Debug, V: Storable + core::fmt::Debug> super::BTreeMutPage<K, V>for Page<K, V> - replacement in sanakirja-core/src/btree/page.rs at line 176
<super::page_unsized::Page<K, V>>::init(page)let h = header_mut(page);h.init(); - replacement in sanakirja-core/src/btree/page.rs at line 285
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 352
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 356
8 + alloc_size::<K, V>(m.mid.0, m.mid.1)8 + core::mem::size_of::<Tuple<K, V>>() - replacement in sanakirja-core/src/btree/page.rs at line 428
fn size<K: Representable, V: Representable>(m: &ModifiedPage<K, V, Page<K, V>>) -> usize {fn size<K: Storable, V: Storable>(m: &ModifiedPage<K, V, Page<K, V>>) -> usize { - replacement in sanakirja-core/src/btree/page.rs at line 434
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 439
if let Some((k, v)) = m.ins {if m.ins.is_some() { - replacement in sanakirja-core/src/btree/page.rs at line 441
total += extra + crate::alloc_size(k, v) as usize;if let Some((k, v)) = m.ins2 {total += extra + crate::alloc_size(k, v) as usize;total += extra + core::mem::size_of::<Tuple<K, V>>();if m.ins2.is_some() {total += extra + core::mem::size_of::<Tuple<K, V>>() - replacement in sanakirja-core/src/btree/page.rs at line 452
fn leaf_linear_search<T: LoadPage, K: Representable, V: Representable>(fn leaf_linear_search<T: LoadPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page.rs at line 479
unsafe fn cmp<T: LoadPage, K: Representable, V: Representable>(unsafe fn cmp<T: LoadPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page.rs at line 487
let (k, v) = read::<T, K, V>(txn, p.as_ptr().offset(off as isize & 0xfff));let k = K::from_raw_ptr(txn, k);match k.compare(txn, k0) {let tup = &*(p.as_ptr().offset(off as isize & 0xfff) as *const Tuple<K, V>);match tup.k.compare(txn, k0) { - replacement in sanakirja-core/src/btree/page.rs at line 491
let v = V::from_raw_ptr(txn, v);v.compare(txn, v0)tup.v.compare(txn, v0) - replacement in sanakirja-core/src/btree/page.rs at line 500
unsafe fn internal_search<T: LoadPage, K: Representable, V: Representable>(unsafe fn internal_search<T: LoadPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page.rs at line 528
unsafe fn lookup<T: LoadPage, K: Representable, V: Representable>(unsafe fn lookup<T: LoadPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page.rs at line 539
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 555[3.12021]→[3.8346:8357](∅→∅),[3.8357]→[3.5384:5483](∅→∅),[3.8349]→[3.5384:5483](∅→∅),[3.5483]→[3.8473:8487](∅→∅),[3.8473]→[3.8473:8487](∅→∅),[3.8487]→[3.6046:6049](∅→∅)
fn modify<T: LoadPage,K: Representable + core::fmt::Debug,V: Representable + core::fmt::Debug,L: Alloc,>(fn modify<T: LoadPage, K: Storable + core::fmt::Debug, V: Storable + core::fmt::Debug, L: Alloc>( - replacement in sanakirja-core/src/btree/page.rs at line 587[3.35449]→[3.8358:8368](∅→∅),[3.8368]→[3.5982:6081](∅→∅),[3.8746]→[3.5982:6081](∅→∅),[3.6081]→[3.8870:8884](∅→∅),[3.8870]→[3.8870:8884](∅→∅),[3.8884]→[3.6097:6100](∅→∅)
fn merge<T: LoadPage,K: Representable + core::fmt::Debug,V: Representable + core::fmt::Debug,L: Alloc,>(fn merge<T: LoadPage, K: Storable + core::fmt::Debug, V: Storable + core::fmt::Debug, L: Alloc>( - replacement in sanakirja-core/src/btree/page.rs at line 613
fn clone<K: Representable, V: Representable, L: Alloc>(fn clone<K: Storable, V: Storable, L: Alloc>( - replacement in sanakirja-core/src/btree/page.rs at line 625
let size = entry_size::<K, V>(ptr);let size = core::mem::size_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 627
let off_new = L::alloc(hdr, size, K::ALIGN.max(V::ALIGN));let off_new = L::alloc(hdr, size, core::mem::align_of::<Tuple<K, V>>()); - replacement in sanakirja-core/src/btree/page.rs at line 636[3.46159]→[3.39476:39520](∅→∅),[2.8856]→[3.39476:39520](∅→∅),[3.1753]→[3.39476:39520](∅→∅),[3.6860]→[3.39476:39520](∅→∅),[3.39476]→[3.39476:39520](∅→∅)
let a = K::ALIGN.max(V::ALIGN);let a = core::mem::size_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page.rs at line 654
fn alloc<K: Representable, V: Representable, L: Alloc>(fn alloc<K: Storable, V: Storable, L: Alloc>( - replacement in sanakirja-core/src/btree/page.rs at line 662
let size = alloc_size(k0, v0);let off_new = L::alloc_insert::<K, V>(new, n, size, r);let off_new = L::alloc_insert::<K, V>(new, n, r); - replacement in sanakirja-core/src/btree/page.rs at line 664
let new_ptr = new.0.data.add(off_new as usize);core::ptr::copy_nonoverlapping(k0, new_ptr as *mut K, 1);let ks = k0.size();let v_ptr = new_ptr.add((ks + V::ALIGN - 1) & !(V::ALIGN - 1));core::ptr::copy_nonoverlapping(v0, v_ptr as *mut V, 1);let new_ptr = &mut *(new.0.data.add(off_new as usize) as *mut Tuple<K, V>);core::ptr::copy_nonoverlapping(k0, &mut new_ptr.k, 1);core::ptr::copy_nonoverlapping(v0, &mut new_ptr.v, 1);debug!("allocated {:?} {:?} {:?}", new_ptr, l, r); - replacement in sanakirja-core/src/btree/page/rebalance.rs at line 7
K: Representable + core::fmt::Debug,V: Representable + core::fmt::Debug,K: Storable + core::fmt::Debug,V: Storable + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page/rebalance.rs at line 78
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page/rebalance.rs at line 123
K: Representable + core::fmt::Debug,V: Representable + core::fmt::Debug,K: Storable + core::fmt::Debug,V: Storable + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page/put.rs at line 6
K: Representable + core::fmt::Debug,V: Representable + core::fmt::Debug,K: Storable + core::fmt::Debug,V: Storable + core::fmt::Debug, - replacement in sanakirja-core/src/btree/page/put.rs at line 21
let size = alloc_size(k0, v0)+ if let Some((k1, v1)) = k1v1 {alloc_size(k1, v1)let size = core::mem::size_of::<Tuple<K, V>>()+ if k1v1.is_some() {core::mem::size_of::<Tuple<K, V>>() - edit in sanakirja-core/src/btree/page/put.rs at line 27
debug!("put {:?} {:?} {:?}", k0, v0, k1v1); - replacement in sanakirja-core/src/btree/page/put.rs at line 39
let off = (u64::from_le(*ptr) & 0xfff) as usize;let kv_ptr = p.add(off);let size = entry_size::<K, V>(kv_ptr);let size = core::mem::size_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page/put.rs at line 49
debug!("{:?} {:?} {:?}", l, r, n);debug!("lrn = {:?} {:?} {:?}", l, r, n); - replacement in sanakirja-core/src/btree/page/put.rs at line 90
K: Representable + core::fmt::Debug,V: Representable + core::fmt::Debug,K: Storable + core::fmt::Debug,V: Storable + core::fmt::Debug, - edit in sanakirja-core/src/btree/page/put.rs at line 123
debug!("u = {:?} k = {:?}", u, k); - replacement in sanakirja-core/src/btree/page/put.rs at line 186
if let Some((k, v)) = L::truncate_left::<T, K, V>(txn, &mut right, k as usize + 1) {if let Some((k, v)) = L::truncate_left::<K, V>(&mut right, k as usize + 1) { - replacement in sanakirja-core/src/btree/page/put.rs at line 188
split_key = K::from_raw_ptr(txn, k as *const u8);split_value = V::from_raw_ptr(txn, v as *const u8);split_key = &*k;split_value = &*v; - replacement in sanakirja-core/src/btree/page/alloc.rs at line 4
fn can_alloc<K: Representable, V: Representable>(hdr: &Header, size: usize) -> bool;fn can_compact<K: Representable, V: Representable>(hdr: &Header, size: usize) -> bool;fn can_alloc<K: Storable, V: Storable>(hdr: &Header, size: usize) -> bool;fn can_compact<K: Storable, V: Storable>(hdr: &Header, size: usize) -> bool; - replacement in sanakirja-core/src/btree/page/alloc.rs at line 9
fn truncate_left<T: LoadPage, K: Representable, V: Representable>(txn: &T,fn truncate_left<K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page/alloc.rs at line 14
fn alloc_insert<K: Representable, V: Representable>(new: &mut MutPage,n: &mut isize,size: usize,r: u64,) -> usize;fn alloc_insert<K: Storable, V: Storable>(new: &mut MutPage, n: &mut isize, r: u64) -> usize; - replacement in sanakirja-core/src/btree/page/alloc.rs at line 18
fn offset_slice<'a, T: LoadPage, K: Representable, V: Representable>(fn offset_slice<'a, T: LoadPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page/alloc.rs at line 21
fn kv<'a, T: LoadPage, K: Representable, V: Representable>(fn kv<'a, T: LoadPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page/alloc.rs at line 52
pub fn first<T, K: Representable, V: Representable>(&self) -> (u64, u16) {pub fn first<T, K: Storable, V: Storable>(&self) -> (u64, u16) { - replacement in sanakirja-core/src/btree/page/alloc.rs at line 57[3.47654]→[3.19493:19542](∅→∅),[2.12454]→[3.19493:19542](∅→∅),[3.1877]→[3.19493:19542](∅→∅),[3.10981]→[3.19493:19542](∅→∅),[3.19493]→[3.19493:19542](∅→∅)
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page/alloc.rs at line 69
fn can_alloc<K: Representable, V: Representable>(hdr: &Header, size: usize) -> bool {fn can_alloc<K: Storable, V: Storable>(hdr: &Header, size: usize) -> bool { - replacement in sanakirja-core/src/btree/page/alloc.rs at line 71
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page/alloc.rs at line 76
fn can_compact<K: Representable, V: Representable>(hdr: &Header, size: usize) -> bool {let al = K::ALIGN.max(V::ALIGN);fn can_compact<K: Storable, V: Storable>(hdr: &Header, size: usize) -> bool {let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page/alloc.rs at line 88
fn truncate_left<T: LoadPage, K: Representable, V: Representable>(txn: &T,fn truncate_left<K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page/alloc.rs at line 94
let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - replacement in sanakirja-core/src/btree/page/alloc.rs at line 124
let (k, v) = read::<T, K, V>(txn, page.0.data.add(hdr_size + (hdr_n as usize - n) * f));Some((K::from_raw_ptr(txn, k), V::from_raw_ptr(txn, v)))let tup =&*(page.0.data.add(hdr_size + (hdr_n as usize - n) * f) as *const Tuple<K, V>);Some((&tup.k, &tup.v)) - replacement in sanakirja-core/src/btree/page/alloc.rs at line 135[3.23462]→[3.11765:11822](∅→∅),[3.11822]→[3.23528:23578](∅→∅),[3.23528]→[3.23528:23578](∅→∅),[3.23578]→[3.7262:7283](∅→∅),[3.49386]→[3.23599:23632](∅→∅),[3.7283]→[3.23599:23632](∅→∅),[3.23599]→[3.23599:23632](∅→∅)
fn alloc_insert<K: Representable, V: Representable>(new: &mut MutPage,n: &mut isize,size: usize,_: u64,) -> usize {fn alloc_insert<K: Storable, V: Storable>(new: &mut MutPage, n: &mut isize, _: u64) -> usize { - replacement in sanakirja-core/src/btree/page/alloc.rs at line 137[2.12731]→[3.7284:7313](∅→∅),[3.1994]→[3.7284:7313](∅→∅),[3.49440]→[3.7284:7313](∅→∅),[3.7313]→[3.49440:49481](∅→∅),[3.49440]→[3.49440:49481](∅→∅)
assert_eq!(f, size);let al = K::ALIGN.max(V::ALIGN);let al = core::mem::align_of::<Tuple<K, V>>(); - edit in sanakirja-core/src/btree/page/alloc.rs at line 139
// debug!("{:?} {:?} {:?}", new, hdr.n(), *n); - replacement in sanakirja-core/src/btree/page/alloc.rs at line 161
fn offset_slice<'a, T: LoadPage, K: Representable, V: Representable>(fn offset_slice<'a, T: LoadPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page/alloc.rs at line 167
fn kv<'a, T: LoadPage, K: Representable, V: Representable>(txn: &T,fn kv<'a, T: LoadPage, K: Storable, V: Storable>(_txn: &T, - replacement in sanakirja-core/src/btree/page/alloc.rs at line 173
let (k, v) = read::<T, K, V>(txn, page.data.as_ptr().add(off as usize));(K::from_raw_ptr(txn, k), V::from_raw_ptr(txn, v), 0)let tup = &*(page.data.as_ptr().add(off as usize) as *const Tuple<K, V>);debug!(">>>>>>>> kv {:?} {:?}", off, tup);(&tup.k, &tup.v, 0) - replacement in sanakirja-core/src/btree/page/alloc.rs at line 181
fn can_alloc<K: Representable, V: Representable>(hdr: &Header, size: usize) -> bool {fn can_alloc<K: Storable, V: Storable>(hdr: &Header, size: usize) -> bool { - replacement in sanakirja-core/src/btree/page/alloc.rs at line 185
fn can_compact<K: Representable, V: Representable>(hdr: &Header, size: usize) -> bool {fn can_compact<K: Storable, V: Storable>(hdr: &Header, size: usize) -> bool { - replacement in sanakirja-core/src/btree/page/alloc.rs at line 195
fn truncate_left<T, K: Representable, V: Representable>(_txn: &T,fn truncate_left<K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page/alloc.rs at line 225
fn alloc_insert<K: Representable, V: Representable>(new: &mut MutPage,n: &mut isize,size: usize,r: u64,) -> usize {fn alloc_insert<K: Storable, V: Storable>(new: &mut MutPage, n: &mut isize, r: u64) -> usize {let size = core::mem::size_of::<Tuple<K, V>>();debug!("alloc internal {:?} {:?}", n, size); - replacement in sanakirja-core/src/btree/page/alloc.rs at line 232
Self::alloc(&mut *hdr, size, K::ALIGN.max(V::ALIGN)),Self::alloc(&mut *hdr, size, core::mem::align_of::<Tuple<K, V>>()), - edit in sanakirja-core/src/btree/page/alloc.rs at line 235
debug!("off_new = {:?}", off_new); - replacement in sanakirja-core/src/btree/page/alloc.rs at line 261
fn offset_slice<'a, T, K: Representable, V: Representable>(fn offset_slice<'a, T, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/page/alloc.rs at line 272
fn kv<'a, T: LoadPage, K: Representable, V: Representable>(txn: &T,fn kv<'a, T: LoadPage, K: Storable, V: Storable>(_txn: &T, - replacement in sanakirja-core/src/btree/page/alloc.rs at line 278
let (k, v) = read::<T, K, V>(txn, page.data.as_ptr().add(off as usize));(K::from_raw_ptr(txn, k), V::from_raw_ptr(txn, v), r)let tup = &*(page.data.as_ptr().add(off as usize) as *const Tuple<K, V>);(&tup.k, &tup.v, r) - replacement in sanakirja-core/src/btree/mod.rs at line 31
pub trait BTreePage<K: Representable + ?Sized, V: Representable + ?Sized>: Sized {pub trait BTreePage<K: ?Sized, V: ?Sized>: Sized { - replacement in sanakirja-core/src/btree/mod.rs at line 135[3.47601]→[3.47601:47634](∅→∅),[3.47634]→[3.47634:47651](∅→∅),[3.47651]→[3.8723:8785](∅→∅),[3.50323]→[3.13884:13908](∅→∅),[3.8785]→[3.13884:13908](∅→∅),[3.13884]→[3.13884:13908](∅→∅),[3.13908]→[3.47728:47732](∅→∅),[3.47728]→[3.47728:47732](∅→∅)
pub struct PageIterator<'a,T: LoadPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreePage<K, V>,> {pub struct PageIterator<'a, T: LoadPage, K: ?Sized, V: ?Sized, P: BTreePage<K, V>> { - replacement in sanakirja-core/src/btree/mod.rs at line 141[3.47778]→[3.47778:47817](∅→∅),[3.47817]→[3.8786:8866](∅→∅),[3.50400]→[3.13988:14016](∅→∅),[3.8866]→[3.13988:14016](∅→∅),[3.13988]→[3.13988:14016](∅→∅),[3.14016]→[3.47916:47964](∅→∅),[3.47916]→[3.47916:47964](∅→∅)
impl<'a,T: LoadPage,K: Representable + ?Sized + 'a,V: Representable + ?Sized + 'a,P: BTreePage<K, V>,> Iterator for PageIterator<'a, T, K, V, P>impl<'a, T: LoadPage, K: ?Sized + 'a, V: ?Sized + 'a, P: BTreePage<K, V>> Iteratorfor PageIterator<'a, T, K, V, P> - replacement in sanakirja-core/src/btree/mod.rs at line 150[3.48112]→[3.8867:8945](∅→∅),[3.8945]→[3.10223:10262](∅→∅),[3.50495]→[3.48223:48225](∅→∅),[3.10262]→[3.48223:48225](∅→∅),[3.14161]→[3.48223:48225](∅→∅),[3.48223]→[3.48223:48225](∅→∅)
pub trait BTreeMutPage<K: Representable + ?Sized, V: Representable + ?Sized>:BTreePage<K, V> + core::fmt::Debug{pub trait BTreeMutPage<K: ?Sized, V: ?Sized>: BTreePage<K, V> + core::fmt::Debug { - replacement in sanakirja-core/src/btree/mod.rs at line 210
pub enum Op<'a, T, K: Representable + ?Sized, V: Representable + ?Sized> {pub enum Op<'a, T, K: ?Sized, V: ?Sized> { - replacement in sanakirja-core/src/btree/mod.rs at line 237[3.6378]→[3.50557:50582](∅→∅),[3.50557]→[3.50557:50582](∅→∅),[3.50582]→[3.9429:9499](∅→∅),[3.50626]→[3.14709:14733](∅→∅),[3.9499]→[3.14709:14733](∅→∅),[3.14709]→[3.14709:14733](∅→∅),[3.14733]→[3.50676:50680](∅→∅),[3.50676]→[3.50676:50680](∅→∅)
pub struct ModifiedPage<'a,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreePage<K, V>,> {pub struct ModifiedPage<'a, K: ?Sized, V: ?Sized, P: BTreePage<K, V>> { - replacement in sanakirja-core/src/btree/mod.rs at line 261
pub struct Concat<'a, K: Representable + ?Sized, V: Representable + ?Sized, P: BTreePage<K, V>> {pub struct Concat<'a, K: ?Sized, V: ?Sized, P: BTreePage<K, V>> { - replacement in sanakirja-core/src/btree/mod.rs at line 279
pub struct Db_<K: Representable + ?Sized, V: Representable + ?Sized, P: BTreePage<K, V>> {pub struct Db_<K: ?Sized, V: ?Sized, P: BTreePage<K, V>> { - replacement in sanakirja-core/src/btree/mod.rs at line 292
impl<K: Representable + ?Sized, V: Representable + ?Sized, P: BTreePage<K, V>> Db_<K, V, P> {impl<K: ?Sized, V: ?Sized, P: BTreePage<K, V>> Db_<K, V, P> { - replacement in sanakirja-core/src/btree/mod.rs at line 305[3.1429]→[3.183:202](∅→∅),[3.183]→[3.183:202](∅→∅),[3.202]→[3.52206:52224](∅→∅),[3.52206]→[3.52206:52224](∅→∅),[3.52224]→[3.9927:9989](∅→∅),[3.51070]→[3.15178:15205](∅→∅),[3.9989]→[3.15178:15205](∅→∅),[3.15178]→[3.15178:15205](∅→∅),[3.15205]→[3.52304:52307](∅→∅),[3.52304]→[3.52304:52307](∅→∅)
pub fn create_db_<T: AllocPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreeMutPage<K, V>,>(pub fn create_db_<T: AllocPage, K: ?Sized, V: ?Sized, P: BTreeMutPage<K, V>>( - replacement in sanakirja-core/src/btree/mod.rs at line 319[3.1479]→[3.259:314](∅→∅),[3.3887]→[3.259:314](∅→∅),[3.314]→[3.15245:15327](∅→∅),[3.15327]→[3.402:405](∅→∅),[3.402]→[3.402:405](∅→∅)
pub fn create_db<T: AllocPage + core::fmt::Debug,K: Representable + core::fmt::Debug,V: Representable + core::fmt::Debug,>(pub fn create_db<T: AllocPage, K: Storable, V: Storable>( - replacement in sanakirja-core/src/btree/mod.rs at line 326[3.1501]→[3.1501:1517](∅→∅),[3.1517]→[3.3903:3921](∅→∅),[3.518]→[3.3903:3921](∅→∅),[3.3903]→[3.3903:3921](∅→∅),[3.3921]→[3.9990:10052](∅→∅),[3.51244]→[3.15426:15453](∅→∅),[3.10052]→[3.15426:15453](∅→∅),[3.15426]→[3.15426:15453](∅→∅),[3.15453]→[3.4001:4004](∅→∅),[3.4001]→[3.4001:4004](∅→∅)
pub fn fork_db<T: AllocPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreeMutPage<K, V>,>(pub fn fork_db<T: AllocPage, K: Storable + ?Sized, V: Storable + ?Sized, P: BTreeMutPage<K, V>>( - replacement in sanakirja-core/src/btree/mod.rs at line 341
pub fn get<'a,T: LoadPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreePage<K, V>,>(pub fn get<'a, T: LoadPage, K: Storable + ?Sized, V: Storable + ?Sized, P: BTreePage<K, V>>( - replacement in sanakirja-core/src/btree/mod.rs at line 381
pub fn drop<T: AllocPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreePage<K, V>,>(pub fn drop<T: AllocPage, K: Storable + ?Sized, V: Storable + ?Sized, P: BTreePage<K, V>>( - replacement in sanakirja-core/src/btree/del.rs at line 10
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: Storable + ?Sized + core::fmt::Debug,V: Storable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/del.rs at line 35
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: Storable + ?Sized + core::fmt::Debug,V: Storable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/del.rs at line 153
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: Storable + ?Sized + core::fmt::Debug,V: Storable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/del.rs at line 201
K: Representable + ?Sized,V: Representable + ?Sized,K: Storable + ?Sized,V: Storable + ?Sized, - replacement in sanakirja-core/src/btree/del.rs at line 286
K: Representable + ?Sized,V: Representable + ?Sized,K: Storable + ?Sized,V: Storable + ?Sized, - replacement in sanakirja-core/src/btree/del.rs at line 443
K: Representable + ?Sized,V: Representable + ?Sized,K: Storable + ?Sized,V: Storable + ?Sized, - replacement in sanakirja-core/src/btree/del.rs at line 500
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: Storable + ?Sized + core::fmt::Debug,V: Storable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/del.rs at line 589
fn single_child<K: Representable + ?Sized, V: Representable + ?Sized, P: BTreeMutPage<K, V>>(fn single_child<K: Storable + ?Sized, V: Storable + ?Sized, P: BTreeMutPage<K, V>>( - replacement in sanakirja-core/src/btree/del.rs at line 606
fn modify<'a,T: AllocPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreeMutPage<K, V>,>(fn modify<'a, T: AllocPage, K: Storable + ?Sized, V: Storable + ?Sized, P: BTreeMutPage<K, V>>( - replacement in sanakirja-core/src/btree/cursor.rs at line 7
pub(super) struct PageCursor<K: Representable + ?Sized,V: Representable + ?Sized,P: BTreePage<K, V>,> {pub(super) struct PageCursor<K: ?Sized, V: ?Sized, P: BTreePage<K, V>> { - replacement in sanakirja-core/src/btree/cursor.rs at line 24
pub struct Cursor<K: Representable + ?Sized, V: Representable + ?Sized, P: BTreePage<K, V>> {pub struct Cursor<K: ?Sized, V: ?Sized, P: BTreePage<K, V>> { - replacement in sanakirja-core/src/btree/cursor.rs at line 32
impl<'a, K: Representable + ?Sized, V: Representable + ?Sized, P: BTreePage<K, V>> Cursor<K, V, P> {impl<'a, K: ?Sized, V: ?Sized, P: BTreePage<K, V>> Cursor<K, V, P> { - replacement in sanakirja-core/src/btree/cursor.rs at line 88
impl<K: Representable + ?Sized, V: Representable + ?Sized, P: BTreePage<K, V>> Cursor<K, V, P> {impl<K: ?Sized, V: ?Sized, P: BTreePage<K, V>> Cursor<K, V, P> { - replacement in sanakirja-core/src/btree/cursor.rs at line 198
K: Representable + ?Sized + core::fmt::Debug,V: Representable + ?Sized + core::fmt::Debug,K: Storable + ?Sized + core::fmt::Debug,V: Storable + ?Sized + core::fmt::Debug, - replacement in sanakirja-core/src/btree/cursor.rs at line 288
pub struct Iter<'a,T: LoadPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreePage<K, V>,> {pub struct Iter<'a, T: LoadPage, K: Storable + ?Sized, V: Storable + ?Sized, P: BTreePage<K, V>> { - replacement in sanakirja-core/src/btree/cursor.rs at line 300
K: Representable + ?Sized,V: Representable + ?Sized,K: Storable + ?Sized,V: Storable + ?Sized, - replacement in sanakirja-core/src/btree/cursor.rs at line 312
K: Representable + ?Sized + 'a,V: Representable + ?Sized + 'a,K: Storable + ?Sized + 'a,V: Storable + ?Sized + 'a, - replacement in sanakirja-core/src/btree/cursor.rs at line 323
pub struct RevIter<'a,T: LoadPage,K: Representable + ?Sized,V: Representable + ?Sized,P: BTreePage<K, V>,> {pub struct RevIter<'a, T: LoadPage, K: Storable + ?Sized, V: Storable + ?Sized, P: BTreePage<K, V>>{ - replacement in sanakirja-core/src/btree/cursor.rs at line 336
K: Representable + ?Sized,V: Representable + ?Sized,K: Storable + ?Sized,V: Storable + ?Sized, - replacement in sanakirja-core/src/btree/cursor.rs at line 348
K: Representable + ?Sized + 'a,V: Representable + ?Sized + 'a,K: Storable + ?Sized + 'a,V: Storable + ?Sized + 'a, - replacement in sanakirja/src/tests.rs at line 189
let n = 300 as u64;let n = 256 as u64; - edit in sanakirja/src/tests.rs at line 198
let db2 = fork_db(&mut txn, &db).unwrap();crate::debug::debug(&txn, &[&db, &db2], "debug", true); - edit in sanakirja/src/tests.rs at line 199
crate::debug::debug(&txn, &[&db], "debug", true);let db2 = fork_db(&mut txn, &db).unwrap(); - replacement in sanakirja/src/tests.rs at line 336
fn add_refs<T: LoadPage, K: Representable, V: Representable, P: BTreePage<K, V>>(fn add_refs<T: LoadPage, K: Storable, V: Storable, P: BTreePage<K, V>>( - replacement in sanakirja/src/tests.rs at line 689
K: Representable + ?Sized + std::fmt::Debug,V: Representable + ?Sized + std::fmt::Debug,K: Storable + ?Sized + std::fmt::Debug,V: Storable + ?Sized + std::fmt::Debug, - replacement in sanakirja/src/lib.rs at line 5
pub use sanakirja_core::{btree, direct_repr, CowPage, LoadPage, MutPage, Page, Representable};pub use sanakirja_core::{btree, direct_repr, CowPage, LoadPage, MutPage, Page, Storable}; - replacement in sanakirja/src/environment/muttxn.rs at line 395
fn root_db<K: Representable + ?Sized,V: Representable + ?Sized,P: crate::btree::BTreePage<K, V>,>(fn root_db<K: Storable + ?Sized, V: Storable + ?Sized, P: crate::btree::BTreePage<K, V>>( - replacement in sanakirja/src/environment/mod.rs at line 7
use sanakirja_core::{CowPage, Representable};use sanakirja_core::{CowPage, Storable}; - replacement in sanakirja/src/environment/mod.rs at line 430
fn root_db<K: Representable + ?Sized,V: Representable + ?Sized,P: crate::btree::BTreePage<K, V>,>(fn root_db<K: Storable + ?Sized, V: Storable + ?Sized, P: crate::btree::BTreePage<K, V>>( - replacement in sanakirja/src/environment/mod.rs at line 437
fn root_db<K: Representable + ?Sized,V: Representable + ?Sized,P: crate::btree::BTreePage<K, V>,>(fn root_db<K: Storable + ?Sized, V: Storable + ?Sized, P: crate::btree::BTreePage<K, V>>( - replacement in sanakirja/src/debug.rs at line 12
K: Representable + ?Sized + std::fmt::Debug,V: Representable + ?Sized + std::fmt::Debug,K: Storable + ?Sized + std::fmt::Debug,V: Storable + ?Sized + std::fmt::Debug, - replacement in sanakirja/src/debug.rs at line 35
K: Representable + ?Sized + std::fmt::Debug,V: Representable + ?Sized + std::fmt::Debug,K: Storable + ?Sized + std::fmt::Debug,V: Storable + ?Sized + std::fmt::Debug, - replacement in sanakirja/src/debug.rs at line 77
K: Representable + ?Sized + std::fmt::Debug,V: Representable + ?Sized + std::fmt::Debug,K: Storable + ?Sized + std::fmt::Debug,V: Storable + ?Sized + std::fmt::Debug,