replacement in pijul-core/src/tests/diff.rs at line 3
[15.205]→[15.205:274](∅→∅) − use rand::distributions::Alphanumeric;
− use rand::{Rng, SeedableRng};
+ use rand::SeedableRng;
+ use rand::distr::Alphanumeric;
edit in pijul-core/src/tests/diff.rs at line 28
edit in pijul-core/src/tag.rs at line 1
[12.6397]→[12.6398:6496](∅→∅) − use crate::pristine::sanakirja::{Channel, MutTxn, SanakirjaError, P, UP};
− use crate::pristine::*;
edit in pijul-core/src/tag.rs at line 3
+ use crate::pristine::sanakirja::{Channel, MutTxn, P, SanakirjaError, UP};
+ use crate::pristine::*;
edit in pijul-core/src/tag.rs at line 288
[37.185]→[14.25143:25174](∅→∅),
[14.25143]→[14.25143:25174](∅→∅) edit in pijul-core/src/tag.rs at line 290
replacement in pijul-core/src/pristine/sanakirja.rs at line 78
[22.1247]→[39.11092:11189](∅→∅),
[39.11189]→[2.531710:531760](∅→∅),
[5.13091]→[2.531710:531760](∅→∅),
[2.531710]→[2.531710:531760](∅→∅),
[2.531760]→[39.11190:11197](∅→∅) − pub unsafe fn new_nolock<P: AsRef<Path>>(name: P) -> Result<Self, SanakirjaError> { unsafe {
− Self::new_with_size_nolock(name, 1 << 20)
− }}
+ pub unsafe fn new_nolock<P: AsRef<Path>>(name: P) -> Result<Self, SanakirjaError> {
+ unsafe { Self::new_with_size_nolock(name, 1 << 20) }
+ }
replacement in pijul-core/src/pristine/sanakirja.rs at line 101
[2.532052]→[39.11198:11247](∅→∅),
[39.11247]→[2.532091:532113](∅→∅),
[5.13420]→[2.532091:532113](∅→∅),
[2.532091]→[2.532091:532113](∅→∅),
[2.532113]→[10.57238:57311](∅→∅),
[8.30252]→[2.532181:532192](∅→∅),
[10.57311]→[2.532181:532192](∅→∅),
[2.532181]→[2.532181:532192](∅→∅),
[2.532192]→[39.11248:11255](∅→∅) − ) -> Result<Self, SanakirjaError> { unsafe {
− Ok(Pristine {
− env: Arc::new(::sanakirja::Env::new_nolock(name, size, 2)?),
− })
− }}
+ ) -> Result<Self, SanakirjaError> {
+ unsafe {
+ Ok(Pristine {
+ env: Arc::new(::sanakirja::Env::new_nolock(name, size, 2)?),
+ })
+ }
+ }
replacement in pijul-core/src/pristine/sanakirja.rs at line 169
[25.12498]→[39.11256:11298](∅→∅),
[39.11298]→[2.534017:534037](∅→∅),
[2.534017]→[2.534017:534037](∅→∅),
[2.534037]→[39.11299:11316](∅→∅),
[39.11316]→[5.13616:13665](∅→∅),
[2.534054]→[5.13616:13665](∅→∅),
[5.13665]→[39.11317:11328](∅→∅) − match begin(txn) { Some(txn) => {
− Ok(txn)
− } _ => {
− Err(SanakirjaError::PristineCorrupt)
− }}
+ match begin(txn) {
+ Some(txn) => Ok(txn),
+ _ => Err(SanakirjaError::PristineCorrupt),
+ }
replacement in pijul-core/src/pristine/sanakirja.rs at line 281
[35.2980]→[35.2980:3203](∅→∅) − T: ::sanakirja::AllocPage<Error = ::sanakirja::Error>
− + ::sanakirja::RootPageMut
− + ::sanakirja::Commit
− + ::sanakirja::LoadPage<Error = ::sanakirja::Error>,
− > RawMutTxnT for T
+ T: ::sanakirja::AllocPage<Error = ::sanakirja::Error>
+ + ::sanakirja::RootPageMut
+ + ::sanakirja::Commit
+ + ::sanakirja::LoadPage<Error = ::sanakirja::Error>,
+ > RawMutTxnT for T
replacement in pijul-core/src/pristine/sanakirja.rs at line 1223
[8.44151]→[39.11329:11397](∅→∅),
[39.11397]→[25.20315:20354](∅→∅),
[8.44210]→[25.20315:20354](∅→∅),
[25.20354]→[10.76131:76199](∅→∅),
[8.44210]→[10.76131:76199](∅→∅),
[10.76199]→[11.0:62](∅→∅),
[11.62]→[10.76285:76381](∅→∅),
[10.76285]→[10.76285:76381](∅→∅),
[10.76381]→[14.26385:26643](∅→∅),
[14.26643]→[18.4631:4689](∅→∅),
[18.4689]→[14.26702:26856](∅→∅),
[14.26702]→[14.26702:26856](∅→∅),
[12.24943]→[10.76731:76893](∅→∅),
[14.26856]→[10.76731:76893](∅→∅),
[10.76731]→[10.76731:76893](∅→∅) − ) -> Result<Option<Channel>, TxnErr<SanakirjaError>> { unsafe {
− debug!("unsafe load channel");
− match btree::get(&self.txn, &self.channels, &name, None)? {
− Some((name_, tup)) if name_ == name.as_ref() => {
− debug!("load_channel: {:?} {:?}", name, tup);
− Ok(Some(Channel {
− graph: Db::from_page(tup.graph.into()),
− changes: Db::from_page(tup.changes.into()),
− revchanges: UDb::from_page(tup.revchanges.into()),
− states: UDb::from_page(tup.states.into()),
− tags: Db::from_page(tup.tags.into()),
− apply_counter: tup.apply_counter.into(),
− last_modified: tup.last_modified.into(),
− id: tup.id,
− name,
− }))
− }
− _ => {
− debug!("unsafe_load_channel: not found");
− Ok(None)
+ ) -> Result<Option<Channel>, TxnErr<SanakirjaError>> {
+ unsafe {
+ debug!("unsafe load channel");
+ match btree::get(&self.txn, &self.channels, &name, None)? {
+ Some((name_, tup)) if name_ == name.as_ref() => {
+ debug!("load_channel: {:?} {:?}", name, tup);
+ Ok(Some(Channel {
+ graph: Db::from_page(tup.graph.into()),
+ changes: Db::from_page(tup.changes.into()),
+ revchanges: UDb::from_page(tup.revchanges.into()),
+ states: UDb::from_page(tup.states.into()),
+ tags: Db::from_page(tup.tags.into()),
+ apply_counter: tup.apply_counter.into(),
+ last_modified: tup.last_modified.into(),
+ id: tup.id,
+ name,
+ }))
+ }
+ _ => {
+ debug!("unsafe_load_channel: not found");
+ Ok(None)
+ }
replacement in pijul-core/src/pristine/sanakirja.rs at line 1247
[8.44879]→[39.11398:11405](∅→∅) replacement in pijul-core/src/pristine/sanakirja.rs at line 1654
[35.3214]→[35.3214:3404](∅→∅) − T: sanakirja::AllocPage<Error = ::sanakirja::Error>
− + sanakirja::RootPage
− + sanakirja::LoadPage<Error = ::sanakirja::Error>,
− > GraphMutTxnT for MutTxn<T>
+ T: sanakirja::AllocPage<Error = ::sanakirja::Error>
+ + sanakirja::RootPage
+ + sanakirja::LoadPage<Error = ::sanakirja::Error>,
+ > GraphMutTxnT for MutTxn<T>
replacement in pijul-core/src/pristine/sanakirja.rs at line 1764
[35.3413]→[35.3413:3605](∅→∅) − T: sanakirja::AllocPage<Error = ::sanakirja::Error>
− + sanakirja::RootPage
− + sanakirja::LoadPage<Error = ::sanakirja::Error>,
− > ChannelMutTxnT for MutTxn<T>
+ T: sanakirja::AllocPage<Error = ::sanakirja::Error>
+ + sanakirja::RootPage
+ + sanakirja::LoadPage<Error = ::sanakirja::Error>,
+ > ChannelMutTxnT for MutTxn<T>
replacement in pijul-core/src/pristine/sanakirja.rs at line 1805
[2.560891]→[2.560891:560916](∅→∅),
[2.560916]→[10.84031:84127](∅→∅) − assert!(self
− .get_revchangeset(&channel.revchanges, &t.into())?
− .is_none());
+ assert!(
+ self.get_revchangeset(&channel.revchanges, &t.into())?
+ .is_none()
+ );
replacement in pijul-core/src/pristine/sanakirja.rs at line 1947
[35.3804]→[35.3804:3993](∅→∅) − T: sanakirja::AllocPage<Error = ::sanakirja::Error>
− + sanakirja::RootPage
− + sanakirja::LoadPage<Error = ::sanakirja::Error>,
− > DepsMutTxnT for MutTxn<T>
+ T: sanakirja::AllocPage<Error = ::sanakirja::Error>
+ + sanakirja::RootPage
+ + sanakirja::LoadPage<Error = ::sanakirja::Error>,
+ > DepsMutTxnT for MutTxn<T>
replacement in pijul-core/src/pristine/sanakirja.rs at line 1959
[35.4002]→[35.4002:4194](∅→∅) − T: sanakirja::AllocPage<Error = ::sanakirja::Error>
− + sanakirja::RootPageMut
− + sanakirja::LoadPage<Error = ::sanakirja::Error>,
− > TreeMutTxnT for MutTxn<T>
+ T: sanakirja::AllocPage<Error = ::sanakirja::Error>
+ + sanakirja::RootPageMut
+ + sanakirja::LoadPage<Error = ::sanakirja::Error>,
+ > TreeMutTxnT for MutTxn<T>
replacement in pijul-core/src/pristine/sanakirja.rs at line 2070
[36.67]→[25.24994:25049](∅→∅),
[25.24994]→[25.24994:25049](∅→∅) replacement in pijul-core/src/pristine/sanakirja.rs at line 2128
[36.186]→[14.29602:29645](∅→∅),
[14.29602]→[14.29602:29645](∅→∅) replacement in pijul-core/src/pristine/sanakirja.rs at line 2437
[35.4248]→[35.4248:4421](∅→∅) − T: sanakirja::AllocPage<Error = ::sanakirja::Error>
− + sanakirja::RootPage
− + sanakirja::LoadPage<Error = ::sanakirja::Error>,
− > MutTxn<T>
+ T: sanakirja::AllocPage<Error = ::sanakirja::Error>
+ + sanakirja::RootPage
+ + sanakirja::LoadPage<Error = ::sanakirja::Error>,
+ > MutTxn<T>
edit in pijul-core/src/pristine/sanakirja.rs at line 2526
+ }
+ unsafe fn onpage_size(p: *const u8) -> usize {
+ unsafe {
+ let len = *(p.add(8)) as usize;
+ 9 + len
+ }
replacement in pijul-core/src/pristine/sanakirja.rs at line 2533
[2.579208]→[39.11406:11466](∅→∅) − unsafe fn onpage_size(p: *const u8) -> usize { unsafe {
+ unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self {
+ unsafe { path_id_from_raw_ptr(p) }
+ }
+ unsafe fn write_to_page(&self, p: *mut u8) {
+ unsafe {
+ *(p as *mut u64) = (self.parent_inode.0).0;
+ self.basename.write_to_page(p.add(8))
+ }
+ }
+ }
+
+ unsafe fn path_id_from_raw_ptr<'a>(p: *const u8) -> &'a PathId {
+ unsafe {
replacement in pijul-core/src/pristine/sanakirja.rs at line 2547
[10.95525]→[10.95525:95541](∅→∅),
[10.95541]→[39.11467:11552](∅→∅),
[39.11552]→[10.95611:95643](∅→∅),
[10.95611]→[10.95611:95643](∅→∅),
[10.95643]→[39.11553:11618](∅→∅),
[34.49]→[10.95693:95745](∅→∅),
[27.172]→[10.95693:95745](∅→∅),
[39.11618]→[10.95693:95745](∅→∅),
[25.34212]→[10.95693:95745](∅→∅),
[10.95693]→[10.95693:95745](∅→∅),
[10.95745]→[34.50:96](∅→∅),
[34.96]→[39.11619:11626](∅→∅) − 9 + len
− }}
− unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self { unsafe {
− path_id_from_raw_ptr(p)
− }}
− unsafe fn write_to_page(&self, p: *mut u8) { unsafe {
− *(p as *mut u64) = (self.parent_inode.0).0;
− self.basename.write_to_page(p.add(8))
− }}
+ std::mem::transmute(std::slice::from_raw_parts(p, 1 + len as usize))
+ }
edit in pijul-core/src/pristine/sanakirja.rs at line 2550
[2.580398]→[2.580398:580399](∅→∅),
[2.580399]→[39.11627:11701](∅→∅),
[39.11701]→[10.95857:95966](∅→∅),
[10.95857]→[10.95857:95966](∅→∅),
[10.95966]→[39.11702:11705](∅→∅) −
− unsafe fn path_id_from_raw_ptr<'a>(p: *const u8) -> &'a PathId { unsafe {
− let len = *(p.add(8)) as usize;
− std::mem::transmute(std::slice::from_raw_parts(p, 1 + len as usize))
− }}
replacement in pijul-core/src/pristine/sanakirja.rs at line 2610
[2.583994]→[39.11706:11766](∅→∅),
[39.11766]→[10.97305:97517](∅→∅),
[10.97305]→[10.97305:97517](∅→∅),
[10.97517]→[39.11767:11852](∅→∅),
[39.11852]→[10.97587:97616](∅→∅),
[10.97587]→[10.97587:97616](∅→∅),
[10.97616]→[39.11853:11960](∅→∅),
[39.11960]→[27.320:362](∅→∅),
[27.320]→[27.320:362](∅→∅),
[27.362]→[10.97699:97769](∅→∅),
[25.34384]→[10.97699:97769](∅→∅),
[10.97699]→[10.97699:97769](∅→∅),
[10.97769]→[27.363:414](∅→∅),
[27.414]→[39.11961:11968](∅→∅) − unsafe fn onpage_size(p: *const u8) -> usize { unsafe {
− let a = A::onpage_size(p);
− let b_off = (a + (B::ALIGN - 1)) & !(B::ALIGN - 1);
− let b_size = B::onpage_size(p.add(b_off));
− (b_off + b_size + (Self::ALIGN - 1)) & !(Self::ALIGN - 1)
− }}
− unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self { unsafe {
− &*(p as *const Self)
− }}
− unsafe fn write_to_page_alloc<T: sanakirja::AllocPage>(&self, t: &mut T, p: *mut u8) { unsafe {
− self.a.write_to_page_alloc(t, p);
− let off = (self.a.size() + (B::ALIGN - 1)) & !(B::ALIGN - 1);
− self.b.write_to_page_alloc(t, p.add(off));
− }}
+ unsafe fn onpage_size(p: *const u8) -> usize {
+ unsafe {
+ let a = A::onpage_size(p);
+ let b_off = (a + (B::ALIGN - 1)) & !(B::ALIGN - 1);
+ let b_size = B::onpage_size(p.add(b_off));
+ (b_off + b_size + (Self::ALIGN - 1)) & !(Self::ALIGN - 1)
+ }
+ }
+ unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self {
+ unsafe { &*(p as *const Self) }
+ }
+ unsafe fn write_to_page_alloc<T: sanakirja::AllocPage>(&self, t: &mut T, p: *mut u8) {
+ unsafe {
+ self.a.write_to_page_alloc(t, p);
+ let off = (self.a.size() + (B::ALIGN - 1)) & !(B::ALIGN - 1);
+ self.b.write_to_page_alloc(t, p.add(off));
+ }
+ }
edit in pijul-core/src/pristine/sanakirja.rs at line 2648
+ }
+ unsafe fn onpage_size(p: *const u8) -> usize {
+ unsafe { REMOTE_LEN + 1 + (*p.add(REMOTE_LEN)) as usize }
replacement in pijul-core/src/pristine/sanakirja.rs at line 2652
[14.33483]→[39.11969:12029](∅→∅),
[39.12029]→[19.43557:43612](∅→∅),
[14.33534]→[19.43557:43612](∅→∅),
[19.43612]→[39.12030:12115](∅→∅),
[39.12115]→[19.43613:43660](∅→∅),
[14.33644]→[19.43613:43660](∅→∅),
[19.43660]→[14.33683:33810](∅→∅),
[14.33683]→[14.33683:33810](∅→∅),
[14.33810]→[39.12116:12223](∅→∅),
[27.506]→[14.33865:33957](∅→∅),
[39.12223]→[14.33865:33957](∅→∅),
[25.34516]→[14.33865:33957](∅→∅),
[14.33865]→[14.33865:33957](∅→∅),
[14.33957]→[19.43661:43707](∅→∅),
[19.43707]→[14.33991:34053](∅→∅),
[14.33991]→[14.33991:34053](∅→∅),
[14.34053]→[19.43708:43784](∅→∅),
[19.43784]→[14.34117:34128](∅→∅),
[14.34117]→[14.34117:34128](∅→∅),
[14.34128]→[39.12224:12231](∅→∅) − unsafe fn onpage_size(p: *const u8) -> usize { unsafe {
− REMOTE_LEN + 1 + (*p.add(REMOTE_LEN)) as usize
− }}
− unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self { unsafe {
− let len = *p.add(REMOTE_LEN) as usize;
− let m: &SerializedRemote =
− std::mem::transmute(std::slice::from_raw_parts(p, 1 + len as usize));
− m
− }}
− unsafe fn write_to_page_alloc<T: sanakirja::AllocPage>(&self, _: &mut T, p: *mut u8) { unsafe {
− std::ptr::copy(
− &self.remote as *const L64 as *const u8,
− p,
− REMOTE_LEN + 1 + self.path.len(),
− );
− debug!(
− "write_to_page: {:?}",
− std::slice::from_raw_parts(p, REMOTE_LEN + 1 + self.path.len())
− );
− }}
+ unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self {
+ unsafe {
+ let len = *p.add(REMOTE_LEN) as usize;
+ let m: &SerializedRemote =
+ std::mem::transmute(std::slice::from_raw_parts(p, 1 + len as usize));
+ m
+ }
+ }
+ unsafe fn write_to_page_alloc<T: sanakirja::AllocPage>(&self, _: &mut T, p: *mut u8) {
+ unsafe {
+ std::ptr::copy(
+ &self.remote as *const L64 as *const u8,
+ p,
+ REMOTE_LEN + 1 + self.path.len(),
+ );
+ debug!(
+ "write_to_page: {:?}",
+ std::slice::from_raw_parts(p, REMOTE_LEN + 1 + self.path.len())
+ );
+ }
+ }
replacement in pijul-core/src/key.rs at line 103
[29.4251]→[13.7830:7857](∅→∅),
[14.38510]→[13.7830:7857](∅→∅),
[13.7830]→[13.7830:7857](∅→∅) replacement in pijul-core/src/key.rs at line 121
[13.8312]→[13.8312:8347](∅→∅) replacement in pijul-core/src/key.rs at line 340
[13.15319]→[13.15319:15441](∅→∅) − cipher::FromBlockCipher, cipher::StreamCipher, Aes128, Aes128Ctr,
− NewBlockCipher,
+ Aes128, Aes128Ctr, NewBlockCipher, cipher::FromBlockCipher,
+ cipher::StreamCipher,
replacement in pijul-core/src/apply.rs at line 787
[24.5164]→[24.5164:5216](∅→∅) − next_vertex.change.0 .0, still_here
+ next_vertex.change.0.0, still_here
replacement in pijul-core/src/apply.rs at line 792
[10.147009]→[39.17538:17611](∅→∅),
[39.17611]→[2.971765:971801](∅→∅),
[8.66636]→[2.971765:971801](∅→∅),
[3.70822]→[2.971765:971801](∅→∅),
[10.147080]→[2.971765:971801](∅→∅),
[2.971765]→[2.971765:971801](∅→∅),
[2.971801]→[39.17612:17633](∅→∅),
[39.17633]→[2.971822:971848](∅→∅),
[2.971822]→[2.971822:971848](∅→∅),
[2.971848]→[39.17634:17723](∅→∅),
[39.17723]→[4.1656:1688](∅→∅),
[8.66704]→[4.1656:1688](∅→∅),
[10.147151]→[4.1656:1688](∅→∅),
[4.1656]→[4.1656:1688](∅→∅),
[4.1688]→[39.17724:17741](∅→∅),
[39.17741]→[4.1689:1711](∅→∅),
[2.971879]→[4.1689:1711](∅→∅),
[4.1711]→[39.17742:17755](∅→∅) − match txn.find_block_end(channel, p.dest()) { Ok(&dest) => {
− (dest, next_vertex)
− } _ => {
− continue;
− }}
− } else { match txn.find_block(channel, p.dest()) { Ok(&dest) => {
− (next_vertex, dest)
− } _ => {
− continue;
− }}};
+ match txn.find_block_end(channel, p.dest()) {
+ Ok(&dest) => (dest, next_vertex),
+ _ => {
+ continue;
+ }
+ }
+ } else {
+ match txn.find_block(channel, p.dest()) {
+ Ok(&dest) => (next_vertex, dest),
+ _ => {
+ continue;
+ }
+ }
+ };
replacement in pijul-core/src/apply.rs at line 1109
[6.27026]→[39.17898:17929](∅→∅),
[39.17929]→[7.133879:133928](∅→∅),
[7.133879]→[7.133879:133928](∅→∅),
[7.133928]→[39.17930:17955](∅→∅),
[39.17955]→[7.133953:133979](∅→∅),
[7.133953]→[7.133953:133979](∅→∅),
[7.133979]→[39.17956:17976](∅→∅) − { Some(e) => {
− e?;
− true
− } _ => {
− false
− }};
+ {
+ Some(e) => {
+ e?;
+ true
+ }
+ _ => false,
+ };
edit in pijul-core/src/apply.rs at line 1254
replacement in pijul-core/Cargo.toml at line 8
[31.934]→[26.54:71](∅→∅),
[2.1021069]→[26.54:71](∅→∅) + edition.workspace = true
edit in pijul/tests/common/mod.rs at line 81
+ // this matches against a type but given a variable..
replacement in pijul/src/commands/protocol.rs at line 302
[2.131981]→[2.131981:132020](∅→∅) replacement in pijul/src/commands/apply.rs at line 50
[39.32431]→[21.31:54](∅→∅),
[21.31]→[21.31:54](∅→∅) replacement in Cargo.toml at line 88
[28.7281]→[36.350:383](∅→∅) − rand = "0.9"
− rand_chacha = "0.9"
+ rand = "0.10"
+ rand_chacha = "0.10"
replacement in Cargo.lock at line 34
[32.949]→[32.949:965](∅→∅) edit in Cargo.lock at line 336
+ name = "chacha20"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601"
+ dependencies = [
+ "cfg-if",
+ "cpufeatures 0.3.0",
+ "rand_core 0.10.0",
+ ]
+
+ [[package]]
edit in Cargo.lock at line 490
+ dependencies = [
+ "libc",
+ ]
+
+ [[package]]
+ name = "cpufeatures"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201"
replacement in Cargo.lock at line 607
[36.637]→[36.637:653](∅→∅) edit in Cargo.lock at line 1153
+ name = "getrandom"
+ version = "0.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec"
+ dependencies = [
+ "cfg-if",
+ "libc",
+ "r-efi",
+ "rand_core 0.10.0",
+ "wasip2",
+ "wasip3",
+ ]
+
+ [[package]]
edit in Cargo.lock at line 1434
+ name = "id-arena"
+ version = "2.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
+
+ [[package]]
edit in Cargo.lock at line 1493
+ "serde",
+ "serde_core",
edit in Cargo.lock at line 1653
+
+ [[package]]
+ name = "leb128fmt"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
replacement in Cargo.lock at line 2265
[32.57980]→[36.1475:1490](∅→∅) replacement in Cargo.lock at line 2333
[39.34497]→[39.34497:34534](∅→∅) − "rand 0.9.2",
− "rand_chacha 0.9.0",
+ "rand 0.10.0",
+ "rand_chacha 0.10.0",
edit in Cargo.lock at line 2486
+ name = "prettyplease"
+ version = "0.2.37"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
+ dependencies = [
+ "proc-macro2",
+ "syn",
+ ]
+
+ [[package]]
replacement in Cargo.lock at line 2588
[36.1682]→[36.1682:1700](∅→∅) replacement in Cargo.lock at line 2590
[36.1765]→[36.1765:1843](∅→∅) − checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
+ checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8"
replacement in Cargo.lock at line 2592
[36.1860]→[36.1860:1902](∅→∅) − "rand_chacha 0.9.0",
− "rand_core 0.9.3",
+ "chacha20",
+ "getrandom 0.4.1",
+ "rand_core 0.10.0",
replacement in Cargo.lock at line 2619
[36.1924]→[36.1924:1942](∅→∅) replacement in Cargo.lock at line 2621
[36.2007]→[36.2007:2085](∅→∅) − checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
+ checksum = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb"
replacement in Cargo.lock at line 2624
[36.2117]→[36.2117:2137](∅→∅) replacement in Cargo.lock at line 2647
[36.2172]→[36.2172:2190](∅→∅) replacement in Cargo.lock at line 2649
[36.2255]→[36.2255:2372](∅→∅) − checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
− dependencies = [
− "getrandom 0.3.4",
− ]
+ checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba"
replacement in Cargo.lock at line 3024
[32.72569]→[32.72569:72585](∅→∅) replacement in Cargo.lock at line 3036
[32.72838]→[32.72838:72854](∅→∅) edit in Cargo.lock at line 3591
+ name = "unicode-xid"
+ version = "0.2.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+
+ [[package]]
replacement in Cargo.lock at line 3693
[32.88742]→[32.88742:88758](∅→∅) + "wit-bindgen 0.46.0",
+ ]
+
+ [[package]]
+ name = "wasip3"
+ version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
+ dependencies = [
+ "wit-bindgen 0.51.0",
edit in Cargo.lock at line 3770
+ name = "wasm-encoder"
+ version = "0.244.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
+ dependencies = [
+ "leb128fmt",
+ "wasmparser",
+ ]
+
+ [[package]]
+ name = "wasm-metadata"
+ version = "0.244.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
+ dependencies = [
+ "anyhow",
+ "indexmap",
+ "wasm-encoder",
+ "wasmparser",
+ ]
+
+ [[package]]
edit in Cargo.lock at line 3802
+ ]
+
+ [[package]]
+ name = "wasmparser"
+ version = "0.244.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
+ dependencies = [
+ "bitflags 2.10.0",
+ "hashbrown 0.15.5",
+ "indexmap",
+ "semver",
edit in Cargo.lock at line 4270
+
+ [[package]]
+ name = "wit-bindgen"
+ version = "0.51.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
+ dependencies = [
+ "wit-bindgen-rust-macro",
+ ]
+
+ [[package]]
+ name = "wit-bindgen-core"
+ version = "0.51.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
+ dependencies = [
+ "anyhow",
+ "heck",
+ "wit-parser",
+ ]
+
+ [[package]]
+ name = "wit-bindgen-rust"
+ version = "0.51.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
+ dependencies = [
+ "anyhow",
+ "heck",
+ "indexmap",
+ "prettyplease",
+ "syn",
+ "wasm-metadata",
+ "wit-bindgen-core",
+ "wit-component",
+ ]
+
+ [[package]]
+ name = "wit-bindgen-rust-macro"
+ version = "0.51.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
+ dependencies = [
+ "anyhow",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wit-bindgen-core",
+ "wit-bindgen-rust",
+ ]
+
+ [[package]]
+ name = "wit-component"
+ version = "0.244.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
+ dependencies = [
+ "anyhow",
+ "bitflags 2.10.0",
+ "indexmap",
+ "log",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "wasm-encoder",
+ "wasm-metadata",
+ "wasmparser",
+ "wit-parser",
+ ]
edit in Cargo.lock at line 4342
+ name = "wit-parser"
+ version = "0.244.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
+ dependencies = [
+ "anyhow",
+ "id-arena",
+ "indexmap",
+ "log",
+ "semver",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "unicode-xid",
+ "wasmparser",
+ ]
+
+ [[package]]