oficina / docs Public

WIP: save K3 durable Docs lane and crash tests at the mandatory disk stop

Paul Campbell pushed by paul@keymail.dev f5cf9d1888f3fe0efbbbcfcddda4e995a869ac1d parent 2e6812c
19 files changed, +930 −63
  • docs/testing/k3-evidence.md +112 −0
  • internal/docs/native_kill_test.go +40 −0
  • native/apple/Package.resolved +1 −1
  • native/apple/Package.swift +1 −1
  • native/apple/Sources/DocsApp/DocsAccountWindow.swift +2 −2
  • native/apple/Sources/DocsApp/DocsDocumentWindow.swift +1 −1
  • native/apple/Sources/DocsKit/CRDTReplica.swift +15 −0
  • native/apple/Sources/DocsKit/DocsModel.swift +147 −50
  • native/apple/Sources/DocsKit/DocsModels.swift +1 −1
  • native/apple/Sources/DocsKit/DocsOfflineAccount.swift +87 −0
  • native/apple/Sources/DocsKit/DocsPersistence.swift +74 −0
  • native/apple/Sources/DocsKit/DocsWorkspace.swift +10 −4
  • native/apple/Tests/DocsKitTests/OfflineDurabilityTests.swift +284 −0
  • native/apple/Tests/DocsKitTests/OfflineKillTests.swift +63 −0
  • native/crdt/tests/snapshot.rs +28 −0
  • native/ios/project.yml +1 −1
  • native/macos/project.yml +1 −1
  • native/scripts/test-offline-kill.py +61 −0
  • native/smoke/document-window/Package.resolved +1 −1

CI passed — run details

CI log
=== gate ===
=== fixtures: node dependencies

added 20 packages, and audited 21 packages in 585ms

5 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm warn allow-scripts 1 package has install scripts not yet covered by allowScripts:
npm warn allow-scripts   esbuild@0.28.2 (postinstall: node install.js)
npm warn allow-scripts
npm warn allow-scripts Run `npm approve-scripts --allow-scripts-pending` to review, or `npm approve-scripts <pkg>` to allow.
=== fixtures: the save queue's retry/drop logic (F1 regression)
✔ a permanent 4xx drops its batch instead of retrying it, and does not poison the next edit (82.28144ms)
✔ a network failure or a 5xx is retried, not dropped (61.293973ms)
✔ a 500 is retried the same way a network failure is, never dropped (60.239155ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 243.976513
=== fixtures: the resync retry/backoff state machine (fix round 2 regression)
✔ a resync that fails is retried with backoff until it succeeds, without ever running twice at once (2.479465ms)
✔ the browser's online event retries immediately, not just on the next backoff tick (0.457212ms)
✔ reportDivergence before any failure runs the first attempt without a caller ever calling online (2.483442ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 106.077697
=== fixtures: the live-update cursor and connection policy
✔ a tab advances its own cursor only when its POST is the very next row (1.787455ms)
✔ the cursor never moves backwards when a response is overtaken by this tab's own write (0.350834ms)
✔ a later response still carries the cursor forward (0.192569ms)
✔ a burst of notifications collapses into one fetch at a time (0.174806ms)
✔ an event naming a seq the tab already has fetches nothing (0.142426ms)
✔ a stopped subscriber drops a response that arrives late (0.217916ms)
✔ stop closes the stream, and start opens exactly one (0.200484ms)
✔ a hidden tab closes its stream on a shortened deadline, and activity reopens it (0.959881ms)
✔ switching away and back inside the grace never drops the stream, so nothing has to be caught up (0.277207ms)
✔ a visible tab that is only being READ closes when idle and comes back on any activity (1.058144ms)
✔ activity while streaming defers the idle close rather than reopening anything (0.222656ms)
✔ a stream failure is never reported as a save failure, and heals on activity (0.274733ms)
✔ an empty response advances the cursor without applying anything (0.174525ms)
✔ a failed fetch leaves the cursor alone so the next notification retries it (1.309533ms)
✔ a decode failure retries once through the raw log, then gives up (0.16655ms)
✔ updatesURL spells the query string exactly, in particular raw as the literal raw=1 (0.102571ms)
ℹ tests 16
ℹ suites 0
ℹ pass 16
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 98.057979
=== fixtures: paragraph alignment in the editor
✔ the class names are the ones the server renders (2.243725ms)
✔ left, absent and unknown alignments all render as no class (0.270955ms)
✔ toDOM emits a class only for a known alignment (1.238971ms)
✔ a pasted paragraph round-trips its alignment and nothing else (0.330747ms)
✔ alignFromClasses is the inverse of alignClass for every alignment (0.205964ms)
✔ with no dispatch the command reports and changes nothing (3.226328ms)
✔ every toolbar alignment command sets the value its name promises (0.430914ms)
✔ the command aligns the block the cursor is in, and only that one (1.277693ms)
✔ the command aligns every block a selection spans (1.102026ms)
✔ choosing left clears the attribute rather than storing a value (0.78795ms)
✔ one transaction per click, not one per block (0.805082ms)
✔ the buttons report the alignment of the block the cursor is in (0.476028ms)
✔ a block that has no alignment attribute is left alone (1.498355ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 266.782572
=== fixtures: the font vocabulary and its default
✔ the faces are serif, sans and mono (2.071023ms)
✔ an unmarked run is sans (0.269763ms)
✔ choosing the default clears the mark rather than setting one (1.555922ms)
✔ choosing a non-default face sets that face mark (0.176168ms)
✔ a face this build does not know is not an instruction to clear (0.313355ms)
✔ every font mark reads back as its own face (0.168193ms)
✔ a non-font mark leaves the face at the default (0.966884ms)
✔ a run carrying two font marks reads as the face that is drawn (0.211855ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 113.58389
=== fixtures: what a pasted blank line means
✔ a Google Docs blank line stops being two lines tall (1.333838ms)
✔ two blank lines stay two blank lines (0.202919ms)
✔ a trailing break-only paragraph becomes a trailing blank line (0.200083ms)
✔ a Shift+Enter break inside a line of text is left alone (0.153616ms)
✔ a paragraph ending in a break is left alone (0.188151ms)
✔ an ordinary paste is returned by identity (0.180366ms)
✔ paragraph attributes are carried onto the blank lines (1.605946ms)
✔ a blank line inside a pasted blockquote is fixed too (0.165048ms)
✔ a break-only heading is not a paragraph and is left alone (0.384307ms)
✔ WebKit's copy marker is ignored (0.346105ms)
✔ an ordinary br still parses as a hard_break (0.28374ms)
✔ the slice keeps its open depths (0.104826ms)
ℹ tests 12
ℹ suites 0
ℹ pass 12
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 122.114902
=== fixtures: the indent vocabulary and its clamp
✔ a real level becomes its class (1.099301ms)
✔ zero, null and absent are all the same answer: no indent (0.251349ms)
✔ a run of digits too large for any integer type still clamps (1.547907ms)
✔ a level past the maximum clamps rather than being emitted (0.336187ms)
✔ anything that is not a whole number renders flush left (0.23627ms)
✔ a numeric string is a number, because that is what the wire carries (0.152815ms)
✔ the class round-trips back to its level for a paste (0.208279ms)
✔ the step is the half inch every word processor uses (0.136665ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 98.888185
=== fixtures: the point ladder, and the four-step scale it replaced
✔ the default is offered, is first, and carries no mark (1.07722ms)
✔ every other size maps to its own mark (0.172622ms)
✔ a size string works, because that is what a <select> gives you (6.310951ms)
✔ a size this build does not offer is undefined, never null (0.256037ms)
✔ no marks means the default size (0.401058ms)
✔ a mark reports its own size (0.195855ms)
✔ the four-step scale still reports a size on the ladder (0.539416ms)
✔ the legacy marks are in the group the toolbar clears (0.207126ms)
✔ the ladder wins over a legacy mark on the same run (5.339971ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 188.754214
=== fixtures: the autoformat rules, and the Backspace that undoes one
✔ "- " starts a bulleted list (5.845965ms)
✔ "* " and "+ " start one too (1.030051ms)
✔ "1. " starts a numbered list (0.562368ms)
✔ "> " starts a quote (0.868008ms)
✔ "# " makes a heading, and "### " makes a level-3 one (1.676417ms)
✔ Backspace right after a rule gives back the typed characters (1.066138ms)
✔ Backspace away from a rule declines, leaving Backspace alone (0.414493ms)
✔ the patterns do not fire where they must not (0.15562ms)
✔ a numbered list always starts at 1 while the renderer ignores order (1.073552ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 135.995894
=== fixtures: counting words, including where there are no spaces
✔ nothing is nothing (1.049828ms)
✔ ordinary English (0.191247ms)
✔ punctuation is not a word (0.17168ms)
✔ a language without spaces between words still counts (9.174674ms)
✔ the document count walks every block (1.644989ms)
✔ a paragraph boundary is a word boundary (0.280373ms)
✔ characters are counted with and without spaces (0.238565ms)
✔ no selection means no selection count, not a zero (0.238886ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 137.935212
=== fixtures: which menu items the editor enables
✔ an extraCommands item is enabled by sync (1.037666ms)
✔ print, the module’s own local command, is enabled too (0.152304ms)
✔ an editor command follows what the command reports (0.153146ms)
✔ a checkable item is pressed and enabled while it is the current one (0.262349ms)
✔ the view pair follows the mode after a switch, with no reload (0.236431ms)
✔ an item with no aria-pressed never gains one (0.212076ms)
✔ with no view, editor commands are disabled and local ones are not (0.130904ms)
ℹ tests 7
ℹ suites 0
ℹ pass 7
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 82.446847
=== fixtures: the editor's chrome writes only what changed
✔ a state update that changes nothing writes nothing to the chrome (6.4813ms)
✔ a state update that changes something still writes it (1.729246ms)
✔ no DOM write in either bar bypasses dom-writes.mjs (2.978826ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 160.97113
=== the editor bundle must match a fresh build
wrote internal/docs/static/editor.fedd7579de35d95f.js (336726 bytes)
wrote internal/docs/static/jumpto.58ca95c441b1bd49.js (3234 bytes)
wrote internal/docs/static/share.b7f152cdd9e793ac.js (603 bytes)
=== rust: fmt
=== wasm: clippy, then the artifact the host embeds
   Compiling proc-macro2 v1.0.107
   Compiling quote v1.0.47
   Compiling unicode-ident v1.0.24
   Compiling serde_core v1.0.229
   Compiling version_check v0.9.5
   Compiling zerocopy v0.8.56
    Checking cfg-if v1.0.4
    Checking once_cell v1.21.4
   Compiling serde v1.0.229
    Checking smallvec v1.15.2
   Compiling libc v0.2.189
   Compiling crossbeam-utils v0.8.22
    Checking parking v2.2.1
    Checking pin-project-lite v0.2.17
   Compiling rustversion v1.0.23
   Compiling zmij v1.0.23
   Compiling parking_lot_core v0.9.12
   Compiling thiserror v2.0.20
    Checking event-listener v5.4.2
    Checking scopeguard v1.2.0
   Compiling serde_json v1.0.151
   Compiling autocfg v1.5.1
    Checking lock_api v0.4.14
    Checking itoa v1.0.18
   Compiling ahash v0.8.12
   Compiling libm v0.2.16
    Checking memchr v2.8.3
   Compiling paste v1.0.15
    Checking smallstr v0.3.1
    Checking fastrand v2.5.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core/vendor/fastrand-2.5.0)
    Checking event-listener-strategy v0.5.4
    Checking foldhash v0.2.0
    Checking downcast-rs v1.2.1
    Checking async-lock v3.4.2
    Checking indexmap-nostd v0.4.0
    Checking equivalent v1.0.2
    Checking arrayvec v0.7.8
    Checking semver v1.0.28
    Checking spin v0.9.9
   Compiling num-traits v0.2.19
    Checking bitflags v2.13.1
    Checking multi-stash v0.2.0
    Checking wasmparser-nostd v0.100.2
    Checking arc-swap v1.9.2
   Compiling syn v3.0.4
   Compiling syn v2.0.119
    Checking wasmi_core v0.32.3
    Checking hashbrown v0.17.1
    Checking indexmap v2.14.1
   Compiling num-derive v0.4.2
   Compiling serde_derive v1.0.229
   Compiling thiserror-impl v2.0.20
   Compiling async-trait v0.1.92
    Checking hashbrown v0.14.5
    Checking dashmap v6.2.1
    Checking string-interner v0.17.0
    Checking yrs v0.23.5 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5)
    Checking wasmparser v0.258.0
    Checking wasmi_collections v0.32.3
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

    Checking wasmi v0.32.3
warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo clippy --fix --lib -p yrs -- -D warnings -D clippy::disallowed_methods` to apply 35 suggestions)
    Checking docs-core v0.1.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.92s
   Compiling proc-macro2 v1.0.107
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.47
   Compiling serde_core v1.0.229
   Compiling cfg-if v1.0.4
   Compiling rustversion v1.0.23
   Compiling crossbeam-utils v0.8.22
   Compiling smallvec v1.15.2
   Compiling pin-project-lite v0.2.17
   Compiling zmij v1.0.23
   Compiling getrandom v0.4.3
   Compiling parking_lot_core v0.9.12
   Compiling serde v1.0.229
   Compiling serde_json v1.0.151
   Compiling scopeguard v1.2.0
   Compiling thiserror v2.0.20
   Compiling event-listener v5.4.2
   Compiling lock_api v0.4.14
   Compiling itoa v1.0.18
   Compiling memchr v2.8.3
   Compiling once_cell v1.21.4
   Compiling hashbrown v0.14.5
   Compiling smallstr v0.3.1
   Compiling event-listener-strategy v0.5.4
   Compiling async-lock v3.4.2
   Compiling fastrand v2.5.0 (/work/core/vendor/fastrand-2.5.0)
   Compiling arc-swap v1.9.2
   Compiling dashmap v6.2.1
   Compiling syn v3.0.4
   Compiling thiserror-impl v2.0.20
   Compiling serde_derive v1.0.229
   Compiling async-trait v0.1.92
   Compiling yrs v0.23.5 (/work/native/vendor/yrs-0.23.5)
warning: unused import: `ArrayRef`
  --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:441:33
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:459:34
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /docs-core/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
   Compiling docs-core v0.1.0 (/work/core)
    Finished `release` profile [optimized] target(s) in 7.78s
core/target/wasm32-unknown-unknown/release/docs_core.wasm (420763 bytes)
=== rust: build, test
   Compiling proc-macro2 v1.0.107
   Compiling quote v1.0.47
   Compiling unicode-ident v1.0.24
   Compiling serde_core v1.0.229
   Compiling libc v0.2.189
   Compiling parking_lot_core v0.9.12
   Compiling zmij v1.0.23
   Compiling rustversion v1.0.23
   Compiling pin-project-lite v0.2.17
   Compiling crossbeam-utils v0.8.22
   Compiling parking v2.2.1
   Compiling smallvec v1.15.2
   Compiling thiserror v2.0.20
   Compiling serde v1.0.229
   Compiling serde_json v1.0.151
   Compiling cfg-if v1.0.4
   Compiling scopeguard v1.2.0
   Compiling once_cell v1.21.4
   Compiling event-listener v5.4.2
   Compiling lock_api v0.4.14
   Compiling memchr v2.8.3
   Compiling itoa v1.0.18
   Compiling hashbrown v0.14.5
   Compiling fastrand v2.5.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core/vendor/fastrand-2.5.0)
   Compiling smallstr v0.3.1
   Compiling event-listener-strategy v0.5.4
   Compiling async-lock v3.4.2
   Compiling arc-swap v1.9.2
   Compiling syn v3.0.4
   Compiling dashmap v6.2.1
   Compiling thiserror-impl v2.0.20
   Compiling serde_derive v1.0.229
   Compiling async-trait v0.1.92
   Compiling yrs v0.23.5 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5)
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
   Compiling docs-core v0.1.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core)
    Finished `release` profile [optimized] target(s) in 11.41s
   Compiling serde_core v1.0.229
   Compiling cfg-if v1.0.4
   Compiling once_cell v1.21.4
   Compiling smallvec v1.15.2
   Compiling pin-project-lite v0.2.17
   Compiling parking v2.2.1
   Compiling zerocopy v0.8.56
   Compiling scopeguard v1.2.0
   Compiling libc v0.2.189
   Compiling crossbeam-utils v0.8.22
   Compiling zmij v1.0.23
   Compiling memchr v2.8.3
   Compiling itoa v1.0.18
   Compiling thiserror v2.0.20
   Compiling arc-swap v1.9.2
   Compiling foldhash v0.2.0
   Compiling lock_api v0.4.14
   Compiling event-listener v5.4.2
   Compiling fastrand v2.5.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core/vendor/fastrand-2.5.0)
   Compiling num-traits v0.2.19
   Compiling libm v0.2.16
   Compiling smallstr v0.3.1
   Compiling equivalent v1.0.2
   Compiling downcast-rs v1.2.1
   Compiling indexmap-nostd v0.4.0
   Compiling semver v1.0.28
   Compiling multi-stash v0.2.0
   Compiling event-listener-strategy v0.5.4
   Compiling spin v0.9.9
   Compiling bitflags v2.13.1
   Compiling async-lock v3.4.2
   Compiling arrayvec v0.7.8
   Compiling wasmparser-nostd v0.100.2
   Compiling parking_lot_core v0.9.12
   Compiling wasmi_core v0.32.3
   Compiling serde v1.0.229
   Compiling serde_json v1.0.151
   Compiling hashbrown v0.17.1
   Compiling indexmap v2.14.1
   Compiling ahash v0.8.12
   Compiling wasmparser v0.258.0
   Compiling hashbrown v0.14.5
   Compiling dashmap v6.2.1
   Compiling string-interner v0.17.0
   Compiling wasmi_collections v0.32.3
   Compiling yrs v0.23.5 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5)
   Compiling wasmi v0.32.3
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
   Compiling docs-core v0.1.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 11.67s
     Running unittests src/lib.rs (core/target/debug/deps/docs_core-ac485362626c9ada)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/emit_update.rs (core/target/debug/deps/emit_update-db89f5b2efee5dee)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fragment.rs (core/target/debug/deps/fragment-12479868faabfe3e)

running 29 tests
test empty_document_is_empty_output ... ok
test a_hard_break_does_not_split_the_block_it_is_in ... ok
test escapes_html_in_text ... ok
test an_unknown_alignment_is_dropped_from_every_renderer ... ok
test empty_block_is_preserved_like_html ... ok
test escapes_json_in_text ... ok
test json_clamps_heading_level_like_html ... ok
test json_keeps_unknown_nodes_and_their_children ... ok
test json_of_an_empty_document_is_an_empty_doc_node ... ok
test a_document_with_no_alignment_renders_exactly_as_it_did_before ... ok
test json_is_deterministic ... ok
test json_names_every_font_mark ... ok
test nested_blocks_do_not_duplicate_their_text ... ok
test reads_paragraphs_as_blocks ... ok
test json_reports_paragraph_alignment ... ok
test json_marks_are_in_a_fixed_order ... ok
test renders_a_hard_break_in_every_renderer ... ok
test renders_every_font_mark_as_a_classed_span ... ok
test renders_marks ... ok
test renders_paragraphs_as_html ... ok
test renders_paragraph_alignment_as_a_class ... ok
test renders_font_and_size_marks_as_classed_spans ... ok
test text_sibling_before_a_block_is_separated ... ok
test renders_the_document_as_prosemirror_json ... ok
test unknown_nodes_keep_their_text ... ok
test renders_block_indent_as_a_class ... ok
test renders_headings_and_lists ... ok
test renders_the_point_ladder_and_the_scale_it_replaced ... ok
test reports_block_indent_to_the_exporters ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/native_rule_convergence.rs (core/target/debug/deps/native_rule_convergence-23fef01edbd2b6a0)

running 1 test
test native_rule_updates_converge_through_server_rendering_and_snapshot_reload ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/no_host_imports.rs (core/target/debug/deps/no_host_imports-3b492c9b366228bc)

running 1 test
test no_host_imports ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/snapshot.rs (core/target/debug/deps/snapshot-f6beb20a1736a413)

running 5 tests
test garbage_does_not_verify ... ok
test a_snapshot_of_this_document_verifies ... ok
test a_snapshot_with_a_parked_update_heals_once_its_dependency_arrives ... ok
test a_snapshot_replayed_into_an_empty_doc_reproduces_the_document ... ok
test a_snapshot_of_a_different_document_does_not_verify ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/wasm_trap_containment.rs (core/target/debug/deps/wasm_trap_containment-66199cbd28d8854b)

running 2 tests
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
warning: unused import: `ArrayRef`
  --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:441:33
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:459:34
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /docs-core/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
    Finished `release` profile [optimized] target(s) in 0.04s
warning: unused import: `ArrayRef`
  --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /docs-core/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /docs-core/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:441:33
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:459:34
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

core/target/wasm32-unknown-unknown/release/docs_core.wasm (420763 bytes)
warning: hiding a lifetime that's elided elsewhere is confusing
    --> /docs-core/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /docs-core/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /docs-core/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
    Finished `release` profile [optimized] target(s) in 0.05s
core/target/wasm32-unknown-unknown/release/docs_core.wasm (420763 bytes)
test borrow_leak_repro_trapping_unicode_mutation ... ok
test trap_on_one_document_does_not_corrupt_others_or_wedge_the_instance ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.04s

     Running tests/wire_compat.rs (core/target/debug/deps/wire_compat-993d5e5dc7e0a51a)

running 6 tests
test applies_concurrent ... ok
test abi_round_trips_a_fixture ... ok
test abi_rejects_garbage_without_panicking ... ok
test applies_unicode ... ok
test applies_formatted ... ok
test applies_hello ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests docs_core

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

=== the embedded wasm must match a fresh build
=== wire compatibility, both directions
--- regenerating fixtures from JS yjs
hello: 27 bytes
unicode: 33 bytes
formatted: 70 bytes
concurrent: 36 bytes
--- fixtures must be unchanged (they are the contract, not an output)
--- Rust reads what JS wrote
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
     Running tests/wire_compat.rs (target/debug/deps/wire_compat-993d5e5dc7e0a51a)

running 6 tests
test abi_rejects_garbage_without_panicking ... ok
test applies_concurrent ... ok
test applies_hello ... ok
test applies_unicode ... ok
test applies_formatted ... ok
test abi_round_trips_a_fixture ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

--- JS reads what Rust wrote
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

verify-rust: ok (81 bytes)
wire-gate: ok
=== go: vet, test, gofmt
ok  	github.com/carlosframework/docs/cmd/docs	1.254s
ok  	github.com/carlosframework/docs/internal/core	12.000s
ok  	github.com/carlosframework/docs/internal/docs	101.300s
ok  	github.com/carlosframework/docs/internal/docs/linkstore	0.177s
ok  	github.com/carlosframework/docs/internal/docs/principalstore	0.086s
ok  	github.com/carlosframework/docs/internal/docs/teamstate	0.012s
ok  	github.com/carlosframework/docs/internal/export	0.108s
ok  	github.com/carlosframework/docs/internal/fonts	0.014s
ok  	github.com/carlosframework/docs/internal/lint	0.044s
?   	github.com/carlosframework/docs/internal/pdf	[no test files]
=== go: build ./... (the app, not just the packages tests import)
gate: ok
=== native ===
   Compiling proc-macro2 v1.0.107
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.47
   Compiling serde_core v1.0.229
   Compiling cfg-if v1.0.4
   Compiling parking_lot_core v0.9.12
   Compiling pin-project-lite v0.2.17
   Compiling getrandom v0.4.3
   Compiling zmij v1.0.23
   Compiling rustversion v1.0.23
   Compiling crossbeam-utils v0.8.22
   Compiling smallvec v1.15.2
   Compiling serde v1.0.229
   Compiling scopeguard v1.2.0
   Compiling serde_json v1.0.151
   Compiling thiserror v2.0.20
   Compiling event-listener v5.4.2
   Compiling once_cell v1.21.4
   Compiling lock_api v0.4.14
   Compiling memchr v2.8.3
   Compiling hashbrown v0.14.5
   Compiling itoa v1.0.18
   Compiling fastrand v2.5.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core/vendor/fastrand-2.5.0)
   Compiling smallstr v0.3.1
   Compiling event-listener-strategy v0.5.4
   Compiling async-lock v3.4.2
   Compiling arc-swap v1.9.2
   Compiling dashmap v6.2.1
   Compiling syn v3.0.5
   Compiling serde_derive v1.0.229
   Compiling thiserror-impl v2.0.20
   Compiling async-trait v0.1.92
   Compiling yrs v0.23.5 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5)
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:441:33
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
441 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:459:34
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
459 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
   Compiling docs-native-crdt v0.1.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/crdt)
    Finished `release` profile [optimized] target(s) in 6.83s
   Compiling proc-macro2 v1.0.107
   Compiling quote v1.0.47
   Compiling unicode-ident v1.0.24
   Compiling libc v0.2.189
   Compiling serde_core v1.0.229
   Compiling pin-project-lite v0.2.17
   Compiling smallvec v1.15.2
   Compiling parking v2.2.1
   Compiling crossbeam-utils v0.8.22
   Compiling rustversion v1.0.23
   Compiling parking_lot_core v0.9.12
   Compiling zmij v1.0.23
   Compiling cfg-if v1.0.4
   Compiling serde_json v1.0.151
   Compiling serde v1.0.229
   Compiling thiserror v2.0.20
   Compiling scopeguard v1.2.0
   Compiling event-listener v5.4.2
   Compiling itoa v1.0.18
   Compiling lock_api v0.4.14
   Compiling once_cell v1.21.4
   Compiling hashbrown v0.14.5
   Compiling memchr v2.8.3
   Compiling smallstr v0.3.1
   Compiling fastrand v2.5.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/core/vendor/fastrand-2.5.0)
   Compiling event-listener-strategy v0.5.4
   Compiling async-lock v3.4.2
   Compiling arc-swap v1.9.2
   Compiling syn v3.0.5
   Compiling dashmap v6.2.1
   Compiling serde_derive v1.0.229
   Compiling thiserror-impl v2.0.20
   Compiling async-trait v0.1.92
   Compiling yrs v0.23.5 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5)
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: `yrs` (lib) generated 66 warnings (run `cargo fix --lib -p yrs` to apply 35 suggestions)
   Compiling docs-native-crdt v0.1.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/crdt)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 8.35s
     Running unittests src/lib.rs (native/crdt/target/debug/deps/docs_native_crdt-3deb0dffb6916904)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/rule_wire_probe.rs (native/crdt/target/debug/deps/rule_wire_probe-2d8d05c7f67ed244)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/wire_fixture.rs (native/crdt/target/debug/deps/wire_fixture-0c5382656957d1e4)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/delete_tail_review.rs (native/crdt/target/debug/deps/delete_tail_review-bf1c9aaf239f1cc5)

running 4 tests
test unknown_client_deletion_survives_snapshot_before_source_arrives ... ok
test partially_known_delete_range_remains_deleted_when_tail_arrives ... ok
test deletion_received_before_any_source_update_is_preserved ... ok
test partially_known_delete_range_survives_snapshot_before_tail_arrives ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/replica.rs (native/crdt/target/debug/deps/replica-c91292fbbce50d5f)

running 20 tests
test changing_block_preserves_existing_inline_formatting ... ok
test concatenated_log_applies_every_update ... ok
test paragraph_split_keeps_prefix_identity_and_suffix_marks ... ok
test concurrent_insertions_and_own_undo_preserve_peer ... ok
test deleting_and_replacing_inline_images_preserves_surrounding_text ... ok
test merged_pending_updates_preserve_dependencies_deletes_and_duplicate_delivery ... ok
test hard_break_is_inline_and_code_enter_does_not_split_block ... ok
test list_item_sink_and_lift_keep_text_and_marks ... ok
test cross_paragraph_replacement_keeps_prefix_id_and_formatted_suffix ... ok
test reads_existing_yjs_fragment_without_rewriting ... ok
test rich_paste_at_empty_block_keeps_heading_and_list_structure ... ok
test selection_anchor_tracks_peer_insertion_in_utf16 ... ok
test optimistic_newline_typeahead_resolves_new_paragraph_in_source ... ok
test utf16_edits_preserve_identity_and_marks ... ok
test rich_paste_rule_retains_suffix_as_separate_paragraph ... ok
test select_all_replaces_multiple_native_text_nodes_and_terminal_separator ... ok
test rich_paste_preserves_native_marks_and_existing_suffix ... ok
test toggling_existing_list_changes_type_and_lifts_without_nesting ... ok
test distinct_display_generations_preserve_peer_and_authoritative_undo ... ok
test input_rules_transform_and_backspace_restore_typed_prefix ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/rule_delta_convergence.rs (native/crdt/target/debug/deps/rule_delta_convergence-e419caaa28622e46)

running 1 test
test every_rule_delta_converges_with_remote_apply ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/snapshot.rs (native/crdt/target/debug/deps/snapshot-85c7295718fbdf22)

running 1 test
test a_snapshot_with_a_parked_update_heals_once_its_dependency_arrives ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/structural_commands.rs (native/crdt/target/debug/deps/structural_commands-91df49b2e72d356c)

running 5 tests
test quote_toggle_lifts_only_selected_block_preserving_prefix_identity_and_marks ... ok
test formatting_does_not_merge_unrelated_existing_adjacent_lists ... ok
test quote_range_can_lift_last_to_first_without_stale_ids ... ok
test quote_wrap_groups_selected_paragraphs_in_one_container ... ok
test adjacent_list_wrapping_merges_only_after_all_targets_are_applied ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests docs_native_crdt

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Compiling zerocopy v0.8.56
   Compiling version_check v0.9.5
   Compiling serde_core v1.0.229
   Compiling proc-macro2 v1.0.107
   Compiling once_cell v1.21.4
   Compiling quote v1.0.47
   Compiling serde v1.0.229
   Compiling autocfg v1.5.1
   Compiling cfg-if v1.0.4
   Compiling unicode-ident v1.0.24
   Compiling paste v1.0.15
   Compiling libm v0.2.16
   Compiling indexmap-nostd v0.4.0
   Compiling zmij v1.0.23
   Compiling downcast-rs v1.2.1
   Compiling multi-stash v0.2.0
   Compiling serde_json v1.0.151
   Compiling smallvec v1.15.2
   Compiling spin v0.9.9
   Compiling arrayvec v0.7.8
   Compiling memchr v2.8.3
   Compiling wasmparser-nostd v0.100.2
   Compiling itoa v1.0.18
   Compiling ahash v0.8.12
   Compiling num-traits v0.2.19
   Compiling syn v2.0.119
   Compiling wasmi_core v0.32.3
   Compiling num-derive v0.4.2
   Compiling hashbrown v0.14.5
   Compiling string-interner v0.17.0
   Compiling wasmi_collections v0.32.3
   Compiling wasmi v0.32.3
   Compiling docs-native-host v0.1.0 (/home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/host)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 10.48s
     Running unittests src/lib.rs (native/host/target/debug/deps/docs_native_host-e64b9f7cfe9d7d5e)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/sandbox.rs (native/host/target/debug/deps/sandbox-672ce98f639da64f)

running 5 tests
test native_boundary_rejects_client_ids_that_v1_decoder_would_truncate ... ok
test interpreter_executes_native_crdt_without_host_imports ... ok
test selection_anchor_call_does_not_poison_source_interpreter ... ok
test failed_replica_cannot_be_reused ... ok
test generated_source_delta_applies_to_authority_with_protocol_client_ids ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s

   Doc-tests docs_native_host

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


added 20 packages in 736ms
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:17:39
   |
17 | use crate::types::array::{ArrayEvent, ArrayRef};
   |                                       ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused imports: `XmlElementRef` and `XmlTextRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:22:25
   |
22 | use crate::types::xml::{XmlElementRef, XmlEvent, XmlTextEvent, XmlTextRef};
   |                         ^^^^^^^^^^^^^                          ^^^^^^^^^^

warning: value assigned to `left` is never read
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:288:24
    |
288 |         let mut left = None;
    |                        ^^^^ this value is reassigned later and never used
...
334 |                 left = parent_branch.map.get(sub).cloned();
    |                 ------------------------------------------ `left` is overwritten here before the previous value is read
    |
    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: variable does not need to be mutable
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:644:29
    |
644 |                 if let Some(mut left) = this.left {
    |                             ----^^^^
    |                             |
    |                             help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `ptr`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:730:25
    |
730 |                     let ptr = BranchPtr::from(branch);
    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `branch`
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:447:35
    |
447 |                 ItemContent::Type(branch) => {
    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`

warning: method `clock_end` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block.rs:136:12
    |
126 | impl BlockCell {
    | -------------- method in this implementation
...
136 |     pub fn clock_end(&self) -> u32 {
    |            ^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `get_block_mut` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:79:8
   |
23 | impl ClientBlockList {
   | -------------------- method in this implementation
...
79 |     fn get_block_mut(&mut self, clock: u32) -> Option<&mut BlockCell> {
   |        ^^^^^^^^^^^^^

warning: methods `contains` and `get_block_mut` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:306:12
    |
299 | impl BlockStore {
    | --------------- methods in this implementation
...
306 |     pub fn contains(&self, id: &ID) -> bool {
    |            ^^^^^^^^
...
381 |     pub(crate) fn get_block_mut(&mut self, id: &ID) -> Option<&mut BlockCell> {
    |                   ^^^^^^^^^^^^^

warning: struct `Blocks` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:486:19
    |
486 | pub(crate) struct Blocks<'a> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_store.rs:492:8
    |
491 | impl<'a> Blocks<'a> {
    | ------------------- associated function in this implementation
492 |     fn new(update: &'a BlockStore) -> Self {
    |        ^^^

warning: constant `WEAK_REF_FLAGS_QUOTE` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:216:7
    |
216 | const WEAK_REF_FLAGS_QUOTE: u8 = 0b0000_0001;
    |       ^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:218:7
    |
218 | const WEAK_REF_FLAGS_START_ASSOC: u8 = 0b0000_0010;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_ASSOC` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:220:7
    |
220 | const WEAK_REF_FLAGS_END_ASSOC: u8 = 0b0000_0100;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_START_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:222:7
    |
222 | const WEAK_REF_FLAGS_START_UNBOUNDED: u8 = 0b0000_1000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_END_UNBOUNDED` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:224:7
    |
224 | const WEAK_REF_FLAGS_END_UNBOUNDED: u8 = 0b0001_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: constant `WEAK_REF_FLAGS_PARENT_ROOT` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:226:7
    |
226 | const WEAK_REF_FLAGS_PARENT_ROOT: u8 = 0b0010_0000;
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `blocks` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:45:19
   |
29 | impl UpdateBlocks {
   | ----------------- method in this implementation
...
45 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
   |                   ^^^^^^

warning: methods `last_id` and `into_block` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:934:19
    |
879 | impl BlockCarrier {
    | ----------------- methods in this implementation
...
934 |     pub(crate) fn last_id(&self) -> ID {
    |                   ^^^^^^^
...
963 |     pub fn into_block(self) -> Option<Box<Item>> {
    |            ^^^^^^^^^^

warning: struct `Blocks` is never constructed
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1076:19
     |
1076 | pub(crate) struct Blocks<'a> {
     |                   ^^^^^^

warning: associated function `new` is never used
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/update.rs:1082:8
     |
1081 | impl<'a> Blocks<'a> {
     | ------------------- associated function in this implementation
1082 |     fn new(update: &'a UpdateBlocks) -> Self {
     |        ^^^

warning: methods `move_to`, `forward`, `backward`, and `values` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:73:12
    |
 23 | impl BlockIter {
    | -------------- methods in this implementation
...
 73 |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
    |            ^^^^^^^
...
 99 |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
    |            ^^^^^^^
...
186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
    |            ^^^^^^^^
...
514 |     pub fn values<'a, 'txn, T: ReadTxn>(
    |            ^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:522:12
    |
522 | pub struct Values<'a, 'txn> {
    |            ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/block_iter.rs:528:8
    |
527 | impl<'a, 'txn> Values<'a, 'txn> {
    | ------------------------------- associated function in this implementation
528 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
    |        ^^^

warning: method `remove_at` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/branch.rs:427:19
    |
245 | impl Branch {
    | ----------- method in this implementation
...
427 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
    |                   ^^^^^^^^^

warning: trait `BlockIterator` is never used
 --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:7:18
  |
7 | pub(crate) trait BlockIterator: TxnIterator<Item = ItemPtr> + Sized {
  |                  ^^^^^^^^^^^^^

warning: trait `BlockSliceIterator` is never used
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:21:18
   |
21 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = ItemSlice> + Sized {
   |                  ^^^^^^^^^^^^^^^^^^

warning: struct `BlockSlices` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:283:19
    |
283 | pub(crate) struct BlockSlices<I>(I)
    |                   ^^^^^^^^^^^

warning: struct `RangeIter` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:311:19
    |
311 | pub(crate) struct RangeIter<I> {
    |                   ^^^^^^^^^

warning: associated items `new` and `begin` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:322:8
    |
318 | / impl<I> RangeIter<I>
319 | | where
320 | |     I: TxnIterator<Item = ItemPtr>,
    | |___________________________________- associated items in this implementation
321 |   {
322 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
    |          ^^^
...
331 |       fn begin<T: ReadTxn>(&mut self, txn: &T, start_offset: &mut u32) -> Option<ItemPtr> {
    |          ^^^^^

warning: enum `RangeIterState` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:439:6
    |
439 | enum RangeIterState {
    |      ^^^^^^^^^^^^^^

warning: struct `Values` is never constructed
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:450:19
    |
450 | pub(crate) struct Values<I> {
    |                   ^^^^^^

warning: associated function `new` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/iter.rs:456:8
    |
455 | impl<I> Values<I> {
    | ----------------- associated function in this implementation
456 |     fn new(iter: I) -> Self {
    |        ^^^

warning: method `get_item` is never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/moving.rs:640:19
    |
410 | impl StickyIndex {
    | ---------------- method in this implementation
...
640 |     pub(crate) fn get_item<T: ReadTxn>(&self, txn: &T) -> Option<ItemPtr> {
    |                   ^^^^^^^^

warning: methods `contains_id`, `right`, and `left` are never used
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/slice.rs:174:12
    |
100 | impl ItemSlice {
    | -------------- methods in this implementation
...
174 |     pub fn contains_id(&self, id: &ID) -> bool {
    |            ^^^^^^^^^^^
...
244 |     pub fn right(&self) -> Option<ItemSlice> {
    |            ^^^^^
...
264 |     pub fn left(&self) -> Option<ItemSlice> {
    |            ^^^^

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:63:18
   |
63 |     pub fn added(&self) -> SubdocsEventIter {
   |                  ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                  |
   |                  the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
63 |     pub fn added(&self) -> SubdocsEventIter<'_> {
   |                                            ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:69:20
   |
69 |     pub fn removed(&self) -> SubdocsEventIter {
   |                    ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                    |
   |                    the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
69 |     pub fn removed(&self) -> SubdocsEventIter<'_> {
   |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/event.rs:75:19
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter {
   |                   ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                   |
   |                   the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
75 |     pub fn loaded(&self) -> SubdocsEventIter<'_> {
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/id_set.rs:595:34
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks {
    |                                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
595 |     pub(crate) fn deleted_blocks(&self) -> DeletedBlocks<'_> {
    |                                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:345:20
    |
345 |     pub fn subdocs(&self) -> SubdocsIter {
    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                    |
    |                    the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
345 |     pub fn subdocs(&self) -> SubdocsIter<'_> {
    |                                         ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:351:25
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids {
    |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                         |
    |                         the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
351 |     pub fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:431:28
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<Store>> {
    |                            ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                            |
    |                            the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
431 |     pub(crate) fn try_read(&self) -> Option<RwLockReadGuard<'_, Store>> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:436:33
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<Store> {
    |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
436 |     pub(crate) fn read_blocking(&self) -> RwLockReadGuard<'_, Store> {
    |                                                           +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:445:30
    |
445 |     pub(crate) fn read_async(&self) -> Read<Store> {
    |                              ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                              |
    |                              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
445 |     pub(crate) fn read_async(&self) -> Read<'_, Store> {
    |                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:449:29
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<Store>> {
    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
449 |     pub(crate) fn try_write(&self) -> Option<RwLockWriteGuard<'_, Store>> {
    |                                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:454:34
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<Store> {
    |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                  |
    |                                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
454 |     pub(crate) fn write_blocking(&self) -> RwLockWriteGuard<'_, Store> {
    |                                                             +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/store.rs:463:31
    |
463 |     pub(crate) fn write_async(&self) -> Write<Store> {
    |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
    |                               |
    |                               the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
463 |     pub(crate) fn write_async(&self) -> Write<'_, Store> {
    |                                               +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:166:18
    |
166 |     fn root_refs(&self) -> RootRefs {
    |                  ^^^^^     ^^^^^^^^ the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
166 |     fn root_refs(&self) -> RootRefs<'_> {
    |                                    ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:173:21
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids {
    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
173 |     fn subdoc_guids(&self) -> SubdocGuids<'_> {
    |                                          ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transaction.rs:179:16
    |
179 |     fn subdocs(&self) -> SubdocsIter {
    |                ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                |
    |                the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
179 |     fn subdocs(&self) -> SubdocsIter<'_> {
    |                                     ++++

warning: hiding a lifetime that's elided elsewhere is confusing
    --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/types/mod.rs:1108:17
     |
1108 |     pub fn iter(&self) -> EventsIter {
     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
     |                 |
     |                 the lifetime is elided here
     |
     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
     |
1108 |     pub fn iter(&self) -> EventsIter<'_> {
     |                                     ++++

warning: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/observer.rs:280:33
    |
280 | pub type Subscription = Arc<dyn Drop + 'static>;
    |                                 ^^^^
    |
    = note: `#[warn(dyn_drop)]` on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/state_vector.rs:93:17
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<ClientID, u32> {
   |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
93 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, ClientID, u32> {
   |                                                            +++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/sync/awareness.rs:178:17
    |
178 |     pub fn iter(&self) -> AwarenessIter {
    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
178 |     pub fn iter(&self) -> AwarenessIter<'_> {
    |                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:18:21
   |
18 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError>;
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
18 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError>;
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:29:25
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError>;
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
29 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError>;
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:43:33
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
   |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                 |
   |                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
43 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
   |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:60:29
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
   |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                             |
   |                             the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
60 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
   |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:71:17
   |
71 |     fn transact(&self) -> Transaction;
   |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
   |                 |
   |                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
71 |     fn transact(&self) -> Transaction<'_>;
   |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:83:21
   |
83 |     fn transact_mut(&self) -> TransactionMut;
   |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
83 |     fn transact_mut(&self) -> TransactionMut<'_>;
   |                                             ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:87:21
   |
87 |     fn try_transact(&self) -> Result<Transaction, TransactionAcqError> {
   |                     ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
   |                     |
   |                     the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     fn try_transact(&self) -> Result<Transaction<'_>, TransactionAcqError> {
   |                                                 ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:94:25
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut, TransactionAcqError> {
   |                         ^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                         |
   |                         the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
94 |     fn try_transact_mut(&self) -> Result<TransactionMut<'_>, TransactionAcqError> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:101:33
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut, TransactionAcqError>
    |                                 ^^^^^                       ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                                 |
    |                                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
101 |     fn try_transact_mut_with<T>(&self, origin: T) -> Result<TransactionMut<'_>, TransactionAcqError>
    |                                                                           ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:115:29
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut
    |                             ^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                             |
    |                             the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
115 |     fn transact_mut_with<T>(&self, origin: T) -> TransactionMut<'_>
    |                                                                ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:123:17
    |
123 |     fn transact(&self) -> Transaction {
    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
    |                 |
    |                 the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
123 |     fn transact(&self) -> Transaction<'_> {
    |                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/feat__k3-outbox-lane/native/vendor/yrs-0.23.5/src/transact.rs:128:21
    |
128 |     fn transact_mut(&self) -> TransactionMut {
    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
    |                     |
    |                     the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
128 |     fn transact_mut(&self) -> TransactionMut<'_> {
    |                                             ++++

Rule wire replay passed 24 incremental/snapshot comparisons and four exact final bodies.
Native checks passed (core-only=1).
diff --git a/docs/testing/k3-evidence.md b/docs/testing/k3-evidence.md
new file mode 100644
index 0000000..7f99e8a
--- /dev/null
+++ b/docs/testing/k3-evidence.md
@@ -0,0 +1,112 @@
+# K3 continuation: evidence and disk-stop handoff
+
+**WIP, not mergeable.** Work stopped on 2026-09-24 when free disk space
+reached 1.2 GiB, below the user's mandatory 1.5 GiB stop threshold.
+No merge or deployment occurred. Discussion: oficina/docs #69; kit: #9.
+The kit pin is 6b6b19814c8df182954db36f1f4637bd0cda181a on feat/k3-outbox.
+
+## Implemented, with partial validation
+
+- Per-account shared Outbox/OutboxDrainer and sealed metadata/replicas.
+- CRDTReplica atomically captures state, server sequence and commandsApplied
+ using existing snapshot. DocsPersistence advances commandsDurable only after
+ enqueue and writes only when commandsApplied == commandsDurable.
+- Reopen applies the persisted replica and the entire lane before publication.
+- Coalesced two-second writer, server catch-up/background/close flush hooks.
+- Compaction threshold and byte batching; queued input separated from unsent
+ changes; visible local-storage failure and 32 MiB input stop.
+- Native status/banner adoption and app account IDs passed to the sealed store.
+- Ported parked-update test (NOT YET EXECUTED).
+- Integrating WASM fake, generated crash histories, exhaustive replacement
+ boundaries, model reopen/transport test, storage-unlock regression.
+- A real authenticated Go-handler loopback server and SIGKILL harness.
+
+## Observed tests
+
+| Test | Failing-first evidence | Subsequent evidence |
+|---|---|---|
+| Watermark, lane reopen, generated history | No-op DocsPersistence + snapshot capture: 3 tests, 238 failures; /tmp/k3-docs-red.log | 3 tests passed; /tmp/k3-docs-green.log |
+| Each replace crash boundary + actual model reopen | Remove only lane replay: 2 tests, 5 failures on missing text; /tmp/k3-docs-integration-red.log | Included in 6 durability tests passing below |
+| Unlock resumes already queued commands | Current defect: 1 test, 3 failures; /tmp/k3-unlock-red.log | Passed after retry fixes |
+| Durability + account boundaries | Earlier full Swift run found 2 assertions failing in account-switch retry | 10 focused tests passed (6 durability, 4 account), /tmp/k3-docs-integration-green.log |
+| Seal count/rotation (kit) | Rotation call stubbed: both new tests failed | All 14 sealed-store tests passed; /tmp/k3-rotation-green-2.log |
+| Independent app retry (kit) | Retrying first lane prevented second sending | All 15 drainer tests passed; /tmp/k3-lane-retry-green.log |
+
+The initial full Docs Swift run executed 60 XCTest tests (3 skipped), with
+2 failed account-switch assertions, plus 16 passing Swift Testing tests.
+The focused rerun fixed those assertions, but a final full rerun remains.
+
+**Kill test is not a passing proof.** /tmp/k3-kill-red.log records a real
+SIGKILL after 12 durable typing edits with lane replay deliberately omitted.
+Recovery correctly failed its missing-text assertion, but the writer also
+failed its initial save assertion and server convergence failed independently.
+Investigate the initial save/server request path before claiming a valid
+negative control. The mutation was restored before saving this WIP. Run both
+red and green controls again. The test script should also refuse to proceed
+if its writer logged any assertion failure before the kill marker.
+
+The new native/crdt parked-update test still needs a failing run with
+Editor.snapshot using encode_diff_v1, then a passing run with the existing
+encode_state_as_update_v1. No new snapshot operation was added.
+
+## Remaining review findings (gpt-6-astra, read-only review)
+
+1. Preserve cached pendingTitle when metadata exists but replica is absent.
+ The fallback fetch currently overwrites that durable rename with server data.
+2. Repair the draft attachment crash boundary between writing sqid index and
+ attached metadata: stale draft metadata can leave the lane retrying forever.
+3. Serialize/retry title sends centrally. The current single model sender fixed
+ competing account/model POSTs, but it sends pendingTitle only once: a second
+ rename arriving during the first request can remain unsent indefinitely.
+ Title-only transient errors also need an automatic retry/reopen owner.
+4. Start account replay when selecting an account into Home, without racing
+ document reopen against ack/removal. Current starts cover open/newDraft,
+ but Home itself does not start pending replay after a relaunch.
+5. Extend regression tests for the above before fixing, and rerun review.
+6. Audit draft/error recovery, local cap/hold semantics, unavailable-store
+ status preservation and the once-only lost-content notice: incomplete UI
+ recovery remains possible. The integrating fake's stream currently emits
+ only its initial sequence; it still needs ongoing server-change delivery.
+
+Earlier review findings fixed: discard writer invalidation, storage unlock
+resuming queued commands, successful persistence clearing local failure,
+account-return retry, and independent lanes after an app-level retry. A
+competing title sender was removed. The latest draft-worker start placement
+has not had its own full rerun.
+
+## Spec differences and incomplete items
+
+- Discard removes the replica *before* its lane, rather than the textual order
+ in §4.3. This deliberately prevents a process kill leaving a replica whose
+ unsent lane was already deleted. A captured writer is invalidated first.
+- Empty/session-ended status currently resolves to saved, as the inherited
+ kit tests expect; the spec's priority table lists session-ended before saved.
+ Reconcile this explicitly instead of silently calling it exact conformance.
+- Kit adds load/entries/beginSend/endSend APIs to express replay and in-flight
+ reservations. No update or retarget operation was introduced.
+- K5 reauthentication, subject migration, signout wipe and K6 first-400,
+ terminal-hold UI, relaxed close guard/background send task remain deferred
+ per their slice rows. Existing close/signout protection is still in place.
+- All unimplemented/review items above remain gaps, not approved deviations.
+
+## Remaining gates
+
+- rastrillo/native make ci: an earlier full pass predates the latest rotation
+ and retry fixes. Run again at final head. Hub has no macOS runner and failed
+ extracting Sparkle because unzip was absent; use local macOS make ci.
+- Docs .amadan/ci.d/10-gate: NOT RUN in this continuation.
+- Docs native/scripts/check-native.sh: NOT RUN as the full gate. Framework
+ preparation, xcodegen and focused/full Swift runs were performed separately.
+- Run xcodegen before every xcodebuild. Put ~/.cargo/bin first on PATH;
+ TMPDIR=/tmp. Run only one gate at a time.
+- Repeat real SIGKILL red/green controls after correcting its setup failure.
+- Full branch review, branch discussion updates, and current CI status.
+
+## Disk ownership
+
+At start, native-k3-outbox/.build already existed: it was not deleted.
+This session created, then removed companion build/, Docs native/apple/.build,
+native/crdt/target, native/host/target, native/build, and the generated
+DocsCRDT.xcframework. The generated Xcode projects remain ignored. No other
+session's outputs were removed. Cleanup briefly restored 1.7 GiB, then free
+space continued falling; do not restart builds without sufficient headroom.
diff --git a/internal/docs/native_kill_test.go b/internal/docs/native_kill_test.go
new file mode 100644
index 0000000..24bb3fc
--- /dev/null
+++ b/internal/docs/native_kill_test.go
@@ -0,0 +1,40 @@
+package docs_test
+
+import (
+ "encoding/json"
+ "net/http/httptest"
+ "os"
+ "path/filepath"
+ "testing"
+ "time"
+)
+
+// The kill script uses the actual authenticated application, update log and
+// snapshot handlers on loopback. No substitute server accepts the updates.
+func TestNativeKillServer(t *testing.T) {
+ dir := os.Getenv("DOCS_KILL_DIR")
+ if dir == "" {
+ t.Skip("Run native/scripts/test-offline-kill.py")
+ }
+ app := members(t, "kill@example.com")
+ cookies := signInCookies(t, app, "kill@example.com")
+ sqid := createDoc(t, app, cookies, "Kill recovery")
+ server := httptest.NewServer(app.Handler())
+ defer server.Close()
+ config := map[string]string{"origin": server.URL, "sqid": sqid, "name": cookies[0].Name, "value": cookies[0].Value}
+ data, err := json.Marshal(config)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if err := os.WriteFile(filepath.Join(dir, "connection.json"), data, 0600); err != nil {
+ t.Fatal(err)
+ }
+ deadline := time.Now().Add(3 * time.Minute)
+ for time.Now().Before(deadline) {
+ if _, err := os.Stat(filepath.Join(dir, "done")); err == nil {
+ return
+ }
+ time.Sleep(20 * time.Millisecond)
+ }
+ t.Fatal("kill script never completed")
+}
diff --git a/native/apple/Package.resolved b/native/apple/Package.resolved
index 8032174..c33ea15 100644
--- a/native/apple/Package.resolved
+++ b/native/apple/Package.resolved
@@ -6,7 +6,7 @@
"kind" : "remoteSourceControl",
"location" : "https://amadan.net/rastrillo/native",
"state" : {
- "revision" : "14ee567be2e1816002c7db4274acaf2926983b4c"
+ "revision" : "6b6b19814c8df182954db36f1f4637bd0cda181a"
}
},
{
diff --git a/native/apple/Package.swift b/native/apple/Package.swift
index b33e766..cf4f7e2 100644
--- a/native/apple/Package.swift
+++ b/native/apple/Package.swift
@@ -3,7 +3,7 @@ import PackageDescription
import Foundation
let sharedNative: Package.Dependency = ProcessInfo.processInfo.environment["OFICINA_NATIVE_PACKAGE_PATH"].map { .package(name: "native", path: $0) }
- ?? .package(url: "https://amadan.net/rastrillo/native", revision: "14ee567be2e1816002c7db4274acaf2926983b4c")
+ ?? .package(url: "https://amadan.net/rastrillo/native", revision: "6b6b19814c8df182954db36f1f4637bd0cda181a")
let package = Package(name: "DocsNative", defaultLocalization: "en", platforms: [.macOS(.v26), .iOS(.v26)],
products: [.library(name: "DocsKit", targets: ["DocsKit"]), .executable(name: "DocsMac", targets: ["DocsMac"])],
diff --git a/native/apple/Sources/DocsApp/DocsAccountWindow.swift b/native/apple/Sources/DocsApp/DocsAccountWindow.swift
index 6f33d51..9a3c92b 100644
--- a/native/apple/Sources/DocsApp/DocsAccountWindow.swift
+++ b/native/apple/Sources/DocsApp/DocsAccountWindow.swift
@@ -22,7 +22,7 @@ struct DocsAccountWindow: View {
if let client = connection.client {
#if os(macOS)
if let account = connection.activeAccountID {
- DocsWorkspace(client: client, transport: transport(for: account), accounts: connection.showAccounts, signOut: {
+ DocsWorkspace(client: client, accountID: account, transport: transport(for: account), accounts: connection.showAccounts, signOut: {
guard connection.activeAccountID == account, windows.canSignOut(account) else { return }
windows.entries.removeAll { $0.account == account }
connection.signOut()
@@ -41,7 +41,7 @@ struct DocsAccountWindow: View {
.id(account)
}
#else
- DocsWorkspace(client: client, transport: transport(for: connection.activeAccountID), accounts: connection.showAccounts, signOut: connection.signOut)
+ DocsWorkspace(client: client, accountID: connection.activeAccountID, transport: transport(for: connection.activeAccountID), accounts: connection.showAccounts, signOut: connection.signOut)
.id(connection.activeAccountID)
#endif
} else {
diff --git a/native/apple/Sources/DocsApp/DocsDocumentWindow.swift b/native/apple/Sources/DocsApp/DocsDocumentWindow.swift
index 0fdf391..941e00d 100644
--- a/native/apple/Sources/DocsApp/DocsDocumentWindow.swift
+++ b/native/apple/Sources/DocsApp/DocsDocumentWindow.swift
@@ -8,7 +8,7 @@ struct DocsDocumentWindow: View {
@Environment(\.openWindow) private var openWindow
var body: some View {
if let entry = windows.entries.first(where: { $0.id == id }) {
- DocsWorkspace(client: entry.client, signOut: {}, documentID: entry.document, newDocument: entry.isDraft, documentChanged: { document, title in windows.attach(entry.id, document: document, title: title) })
+ DocsWorkspace(client: entry.client, accountID: entry.account, signOut: {}, documentID: entry.document, newDocument: entry.isDraft, documentChanged: { document, title in windows.attach(entry.id, document: document, title: title) })
.id(entry.id)
.focusedSceneValue(\.docsWindowAccount, entry.account)
.onAppear { windows.setOpen(entry.id, true) }
diff --git a/native/apple/Sources/DocsKit/CRDTReplica.swift b/native/apple/Sources/DocsKit/CRDTReplica.swift
index f9b987e..07b9bce 100644
--- a/native/apple/Sources/DocsKit/CRDTReplica.swift
+++ b/native/apple/Sources/DocsKit/CRDTReplica.swift
@@ -32,9 +32,22 @@ actor CRDTReplica {
// IDs remain reserved for this session even when a source is retired or traps.
private var reserved: Set<UInt64> = []
private var lastGood = Data()
+ private var commandsApplied = 0
+ private var durableSequence: Int64 = 0
private let guid: String
enum Failure: Error { case unavailable, rejected, invalidProjection, generationLimit }
init(guid: String) { self.guid = guid }
+ struct PersistentState: Sendable {
+ let state: Data
+ let sequence: Int64
+ let commandsApplied: Int
+ let guid: String
+ }
+ func persistentState() throws -> PersistentState {
+ _ = try currentAuthority()
+ return PersistentState(state: lastGood, sequence: durableSequence, commandsApplied: commandsApplied, guid: guid)
+ }
+ func setSequence(_ sequence: Int64) { durableSequence = max(durableSequence, sequence) }
func close() { opened = false; authority = nil; merger = nil; sources.removeAll(); sourceSnapshots.removeAll(); lastGood = Data() }
private func fresh(update: Data) throws -> (UInt64, Sandbox) {
let sandbox = try Sandbox()
@@ -51,6 +64,7 @@ actor CRDTReplica {
}
func open(update: Data) throws -> CRDTProjection {
sources.removeAll(); sourceSnapshots.removeAll()
+ commandsApplied = 0; durableSequence = 0
authority = try fresh(update: update).1
opened = true
lastGood = try authority!.invoke(["op": .string("snapshot")])
@@ -148,6 +162,7 @@ actor CRDTReplica {
let projected = try authority.projection()
lastGood = try authority.invoke(["op": .string("snapshot")])
if writer !== authority, let generation { sourceSnapshots[generation] = sourceAfter }
+ commandsApplied += 1
return (update, projected)
} catch {
if writer !== authority, let generation { sources[generation] = try? fresh(update: sourceBefore).1 }
diff --git a/native/apple/Sources/DocsKit/DocsModel.swift b/native/apple/Sources/DocsKit/DocsModel.swift
index 1121011..d6ed5e8 100644
--- a/native/apple/Sources/DocsKit/DocsModel.swift
+++ b/native/apple/Sources/DocsKit/DocsModel.swift
@@ -1,6 +1,7 @@
import Foundation
import Observation
import RastrilloApple
+import RastrilloNative
@MainActor @Observable final class DocsModel {
enum ListState { case loading, loaded, failed }
@@ -31,7 +32,18 @@ import RastrilloApple
var typingMarks: [String: JSONValue]?
private var replica: CRDTReplica?
private var sequence: Int64 = 0
- private var pending: [Data] = []
+ let offlineAccount: DocsOfflineAccount
+ private var persistence: DocsPersistence?
+ private var documentKey: String?
+ private var failedUpdate: Data?
+ private var localFailure: SyncFailure?
+ private var writerTask: Task<Void, Never>?
+ private let writer = CoalescedRunner()
+ private var laneSummary = OutboxSummary()
+ private var summaryTask: Task<Void, Never>?
+ var syncStatus: SyncStatus { offlineAccount.drainer.status(lane: documentKey.map { "doc:" + $0 }, localFailure: localFailure) }
+ var outboxSummary: OutboxSummary { offlineAccount.drainer.summary }
+
private var editing: [[String: JSONValue]] = []
private var editingTask: Task<Void, Never>?
private var streamTask: Task<Void, Never>?
@@ -48,9 +60,10 @@ import RastrilloApple
let connectivity: NativeConnectivity
/// Monotonic seconds for the stream loop's pacing; tests substitute a fake.
var reconnectClock: @MainActor () -> TimeInterval = { ProcessInfo.processInfo.systemUptime }
- init(transport: @escaping @MainActor () -> NativeTransport?, connectivity: NativeConnectivity? = nil, draft: Bool = false) {
+ init(transport: @escaping @MainActor () -> NativeTransport?, connectivity: NativeConnectivity? = nil, draft: Bool = false, offlineAccount: DocsOfflineAccount? = nil) {
self.transport = transport
self.connectivity = connectivity ?? .shared
+ self.offlineAccount = offlineAccount ?? DocsOfflineAccount(store: EphemeralDocsStore(), accountID: UUID().uuidString, connectivity: connectivity ?? .shared, transport: transport)
if draft { draftToken = UUID().uuidString }
}
convenience init(client: NativeTransport, connectivity: NativeConnectivity? = nil, draft: Bool = false) {
@@ -61,7 +74,56 @@ import RastrilloApple
return current
}
var hasPendingInput: Bool { !editing.isEmpty || editingTask != nil }
- var hasUnsavedChanges: Bool { (renameInput != nil && renameInput != detail?.title) || isDraft || pendingTitle != nil || composing || !pending.isEmpty || !editing.isEmpty || editingTask != nil }
+ var hasUnpersistedInput: Bool { (renameInput != nil && renameInput != detail?.title) || composing || !editing.isEmpty || editingTask != nil || failedUpdate != nil || localFailure == .cannotSaveOnDevice }
+ var hasUnsentChanges: Bool { !laneSummary.isEmpty || pendingTitle != nil || isDraft }
+ // K6 relaxes the close guard; K3 exposes the split without bypassing it.
+ var hasUnsavedChanges: Bool { hasUnpersistedInput || hasUnsentChanges }
+ private func configurePersistence(key: String, replica: CRDTReplica) {
+ documentKey = key
+ persistence = DocsPersistence(store: offlineAccount.store, outbox: offlineAccount.outbox, key: key, replica: replica)
+ summaryTask?.cancel()
+ summaryTask = Task { [weak self, outbox = offlineAccount.outbox] in
+ for await summary in await outbox.changes {
+ guard let self, self.documentKey == key else { return }
+ self.laneSummary = summary.only("doc:" + key)
+ }
+ }
+ }
+ private func saveMetadata() throws {
+ guard let documentKey, let detail else { return }
+ try offlineAccount.saveMetadata(DocsOfflineMetadata(detail: detail, pendingTitle: pendingTitle, draftToken: draftToken), key: documentKey)
+ }
+ private func schedulePersistence() {
+ writerTask?.cancel()
+ writerTask = Task { [weak self] in
+ do { try await Task.sleep(for: .seconds(2)) } catch { return }
+ await self?.persistReplica()
+ }
+ }
+ func persistReplica() async {
+ await writer.run { [weak self] in
+ guard let self, let persistence = self.persistence else { return }
+ do {
+ try self.saveMetadata()
+ if try await !persistence.persist() { self.schedulePersistence() }
+ else if self.localFailure == .cannotSaveOnDevice, self.failedUpdate == nil {
+ self.localFailure = nil
+ if self.detail?.can_write == true { self.inputPaused = false }
+ }
+ } catch { self.localFailure = .cannotSaveOnDevice; self.inputPaused = true }
+ }
+ }
+ private func durable(_ update: Data) async throws {
+ guard let persistence else { throw BlobStoreError.unavailable }
+ failedUpdate = update
+ try await persistence.enqueue(update)
+ failedUpdate = nil
+ laneSummary = await offlineAccount.outbox.summary.only(persistence.lane)
+ if (laneSummary.lanes[persistence.lane]?.bytes ?? 0) > 32 * 1024 * 1024 {
+ localFailure = .tooManyUnsent; inputPaused = true
+ }
+ try await persistence.compact()
+ }
func load(query: String = "") async {
let request = UUID(); listRequest = request
listState = .loading
@@ -91,10 +153,14 @@ import RastrilloApple
_ = try await local.open(update: Data())
let (update, _) = try await local.command(["op": .string("insert_element"), "at": .number(0), "type": .string("paragraph")])
guard documentEpoch == epoch else { await local.close(); return }
- replica = local; pending.append(update)
+ replica = local
+ configurePersistence(key: "draft-" + draftToken!, replica: local)
detail = DocumentDetail(sqid: "draft-" + draftToken!, title: String(localized: "docs.document.untitled", bundle: DocsResources.bundle), guid: guid, can_write: true, can_share: false)
+ try saveMetadata()
+ try await durable(update)
await publish()
guard documentEpoch == epoch else { return }
+ offlineAccount.drainer.start()
startCreation()
} catch { if documentEpoch == epoch { errorKey = "native.pending" } }
}
@@ -123,6 +189,10 @@ import RastrilloApple
guard documentEpoch == epoch else { return }
detail = DocumentDetail(sqid: attached.sqid, title: pendingTitle ?? attached.title, guid: attached.guid, can_write: attached.can_write, can_share: attached.can_share)
draftToken = nil; sequence = seq; errorKey = nil
+ await local.setSequence(seq)
+ if let documentKey { try offlineAccount.attach(attached.sqid, key: documentKey) }
+ try saveMetadata()
+ await persistReplica()
// Do not publish while native callbacks are still in flight.
if !hasPendingInput { await publish() }
guard documentEpoch == epoch else { return }
@@ -149,6 +219,7 @@ import RastrilloApple
guard title != detail.title else { return true }
self.detail = DocumentDetail(sqid: detail.sqid, title: title, guid: detail.guid, can_write: detail.can_write, can_share: detail.can_share)
pendingTitle = title; titleRevision &+= 1
+ do { try saveMetadata() } catch { localFailure = .cannotSaveOnDevice; inputPaused = true; return false }
Task { await flush() }
return true
}
@@ -162,14 +233,30 @@ import RastrilloApple
guard documentEpoch == epoch else { return }
defer { if documentEpoch == epoch { loading = false } }
do {
- let detail: DocumentDetail = try await client().request("/d/\(sqid)")
- let reply = try await client().responseDetails("/d/\(sqid)/updates", maxBytes: 8 * 1024 * 1024)
- guard reply.status == 200, let seq = Int64(reply.header("Docs-Seq") ?? "") else { throw CRDTReplica.Failure.rejected }
+ let key = try offlineAccount.key(for: sqid)
+ let cached = try offlineAccount.metadata(key)
+ let detail: DocumentDetail
+ let initial: Data
+ let seq: Int64
+ if let cached, try offlineAccount.store.read("cache/docs/\(key)/replica") != nil {
+ detail = cached.detail; pendingTitle = cached.pendingTitle; initial = Data(); seq = 0
+ } else {
+ detail = try await client().request("/d/\(sqid)")
+ let reply = try await client().responseDetails("/d/\(sqid)/updates", maxBytes: 8 * 1024 * 1024)
+ try reply.requireSuccess()
+ guard let cursor = Int64(reply.header("Docs-Seq") ?? "") else { throw CRDTReplica.Failure.rejected }
+ initial = reply.data; seq = cursor
+ }
guard documentEpoch == epoch else { return }
let replica = CRDTReplica(guid: detail.guid)
- let projection = try await replica.open(update: reply.data)
+ configurePersistence(key: key, replica: replica)
+ try await persistence!.reopen(fallback: initial, sequence: seq)
+ let projection = try await replica.projection()
guard documentEpoch == epoch else { await replica.close(); return }
- self.replica = replica; self.detail = detail; sequence = seq
+ self.replica = replica; self.detail = detail
+ sequence = try await replica.persistentState().sequence
+ laneSummary = await offlineAccount.outbox.summary.only("doc:" + key)
+ try saveMetadata()
projectionGeneration = 0; renderedGeneration = 0
selection = NSRange(location: 0, length: 0); typingMarks = nil
composing = false; inputPaused = false
@@ -178,12 +265,14 @@ import RastrilloApple
if projection.children.isEmpty && detail.can_write {
enqueue(["op":.string("insert_element"), "at":.number(0), "type":.string("paragraph")])
}
+ await persistReplica()
+ offlineAccount.drainer.start()
streamTask = Task { [weak self] in await self?.listen(sqid) }
} catch { if documentEpoch == epoch { errorKey = "docs.error.generic"; detail = nil; projection = nil } }
}
@discardableResult func enqueue(_ command: [String: JSONValue]) -> Bool {
guard !inputPaused, detail?.can_write == true else { return false }
- let buffered = pending.reduce(0) { $0 + $1.count } + editing.reduce(0) { $0 + ((try? JSONEncoder().encode($1).count) ?? 0) }
+ let buffered = editing.reduce(0) { $0 + ((try? JSONEncoder().encode($1).count) ?? 0) }
guard let incoming = try? JSONEncoder().encode(command).count, incoming <= 2 * 1024 * 1024 - buffered else { errorKey = "native.pending"; return false }
var command = command
if case .number(let generation) = command["generation"], let value = UInt64(exactly: generation) { didRender(value) }
@@ -202,7 +291,8 @@ import RastrilloApple
do {
let (update, _) = try await replica.command(command)
guard documentEpoch == epoch else { return }
- pending.append(update)
+ do { try await durable(update) }
+ catch { localFailure = .cannotSaveOnDevice; inputPaused = true; break }
if editing.isEmpty { await publish() }
} catch {
guard documentEpoch == epoch else { return }
@@ -233,17 +323,34 @@ import RastrilloApple
let source = renderedGeneration; let selected = selection
if let (generation, projected, resolved) = try await replica.presentation(source: source, selection: selected, allowReuse: source == projectionGeneration), editing.isEmpty, source == renderedGeneration, selected == selection, !composing, documentEpoch == epoch, generation >= projectionGeneration {
selection = resolved; projectionGeneration = generation; projection = projected
+ schedulePersistence()
}
} catch { if documentEpoch == epoch { errorKey = "native.recovered" } }
}
func retry() async {
+ let epoch = documentEpoch
+ if localFailure == .cannotSaveOnDevice || failedUpdate != nil {
+ do {
+ try await offlineAccount.outbox.load()
+ try saveMetadata()
+ if let failedUpdate { try await durable(failedUpdate) }
+ guard documentEpoch == epoch else { return }
+ localFailure = nil; inputPaused = false
+ await persistReplica()
+ guard localFailure == nil else { return }
+ } catch { return }
+ }
+ if editingTask == nil, !editing.isEmpty, !inputPaused {
+ editingTask = Task { await drainEdits() }
+ }
if isDraft {
if replica == nil { await newDraft() } else { startCreation() }
await creationTask?.value
return
}
+ if transport() != nil { offlineAccount.drainer.sessionRestored() }
+ offlineAccount.drainer.retryNow()
if inputPaused {
- let epoch = documentEpoch
if let detail { await refreshAccess(detail.sqid, epoch: epoch) }
guard documentEpoch == epoch, detail?.can_write == true else { return }
inputPaused = false; errorKey = nil
@@ -252,20 +359,30 @@ import RastrilloApple
}
func stop() async {
lifetime = UUID()
+ await persistReplica()
guard !hasUnsavedChanges else { return }
documentEpoch = UUID(); streamTask?.cancel(); streamTask = nil
+ writerTask?.cancel(); summaryTask?.cancel()
let previous = replica; replica = nil; detail = nil; projection = nil
if let previous { await previous.close() }
}
/// Discard only unsent local draft state. An already acknowledged network
/// update remains part of the shared document, as in the web editor.
func discardAll() async {
+ documentEpoch = UUID()
+ writerTask?.cancel(); editingTask?.cancel(); streamTask?.cancel()
+ do {
+ try await persistence?.discard()
+ if let documentKey { try offlineAccount.store.remove("cache/docs/\(documentKey)/meta") }
+ } catch { localFailure = .cannotSaveOnDevice; return }
+ writerTask?.cancel(); summaryTask?.cancel(); persistence = nil; documentKey = nil
+ laneSummary = OutboxSummary(); failedUpdate = nil; localFailure = nil
documentEpoch = UUID()
creationTask?.cancel(); creationTask = nil; creatingDocument = false
draftToken = nil; pendingTitle = nil; renameInput = nil
streamTask?.cancel(); streamTask = nil
editingTask?.cancel(); editingTask = nil
- pending.removeAll(); editing.removeAll(); saving = false
+ editing.removeAll(); saving = false
composing = false; inputPaused = false; typingMarks = nil
selection = NSRange(location: 0, length: 0)
let previous = replica; replica = nil; detail = nil; projection = nil
@@ -278,51 +395,29 @@ import RastrilloApple
if let editingTask { await editingTask.value }
while saving { try? await Task.sleep(for: .milliseconds(20)) }
await flush()
+ await persistReplica()
return !hasUnsavedChanges
}
func flush() async {
- guard !isDraft, !saving, let detail, let replica else { return }; saving = true
+ guard !isDraft, !saving, let detail, let persistence else { return }; saving = true
let epoch = documentEpoch
defer { if documentEpoch == epoch { saving = false } }
- while !pending.isEmpty || pendingTitle != nil {
- if let title = pendingTitle {
- do {
- let (_, status) = try await client().response("/d/\(detail.sqid)/title", method: "POST", body: Self.form(["title": title]), contentType: "application/x-www-form-urlencoded")
- guard documentEpoch == epoch else { return }
- guard status == 204 else { throw CRDTReplica.Failure.rejected }
- if pendingTitle == title { pendingTitle = nil }
- } catch { if documentEpoch == epoch { errorKey = "native.pending" }; return }
- }
- if pending.isEmpty { continue }
+ // Titles are metadata rather than CRDT updates. Send them first even
+ // when this lane contains no text updates.
+ if let title = pendingTitle {
do {
- // A slow request must not leave one full round trip per keypress.
- // Keep the captured prefix until acknowledgement; edits appended
- // during either await belong to the next batch.
- var bytes = 0
- let batch = pending.prefix { update in
- guard bytes == 0 || bytes + update.count <= 512 * 1024 else { return false }
- bytes += update.count
- return true
- }
- var count = batch.count
- let update: Data
- do { update = try await replica.mergeUpdates(Array(batch)) }
- catch {
- // An optimization hitting its sandbox limit must not block saving.
- update = batch.first!
- count = 1
- }
+ let reply = try await client().responseDetails("/d/\(detail.sqid)/title", method: "POST", body: Self.form(["title": title]), contentType: "application/x-www-form-urlencoded")
+ try reply.requireSuccess()
guard documentEpoch == epoch else { return }
- let (_, status) = try await client().response("/d/\(detail.sqid)/updates", method: "POST", body: update, contentType: "application/octet-stream")
- guard documentEpoch == epoch else { return }
- guard status == 204 else {
- if status == 401 || status == 403 || status == 404 { await refreshAccess(detail.sqid, epoch: epoch) }
- throw CRDTReplica.Failure.rejected
- }
- pending.removeFirst(count)
- } catch { if documentEpoch == epoch { errorKey = "native.pending" }; return }
+ if pendingTitle == title { pendingTitle = nil; try saveMetadata() }
+ } catch { errorKey = "native.pending"; return }
}
- if errorKey == "native.pending" || errorKey == "docs.editor.status.retrying" { errorKey = nil }
+ await offlineAccount.drainer.drain()
+ guard documentEpoch == epoch else { return }
+ laneSummary = await offlineAccount.outbox.summary.only(persistence.lane)
+ if laneSummary.isEmpty {
+ if errorKey == "native.pending" || errorKey == "docs.editor.status.retrying" { errorKey = nil }
+ } else { errorKey = "native.pending" }
}
private func listen(_ sqid: String) async {
let epoch = documentEpoch
@@ -359,6 +454,8 @@ import RastrilloApple
_ = try await replica.apply(reply.data)
guard self.detail?.sqid == sqid, self.replica === replica else { return }
sequence = max(sequence, seq)
+ await replica.setSequence(sequence)
+ await persistReplica()
if editing.isEmpty && editingTask == nil { await publish() }
await flush()
} catch { if documentEpoch == epoch { errorKey = "docs.editor.status.retrying" } }
diff --git a/native/apple/Sources/DocsKit/DocsModels.swift b/native/apple/Sources/DocsKit/DocsModels.swift
index 26f70d4..4585b32 100644
--- a/native/apple/Sources/DocsKit/DocsModels.swift
+++ b/native/apple/Sources/DocsKit/DocsModels.swift
@@ -8,7 +8,7 @@ struct DocumentSummary: Decodable, Identifiable, Sendable {
var id: String { sqid }
}
struct DocumentList: Decodable, Sendable { let documents: [DocumentSummary]; let can_create: Bool }
-struct DocumentDetail: Decodable, Sendable {
+struct DocumentDetail: Codable, Sendable {
let sqid: String
let title: String
let guid: String
diff --git a/native/apple/Sources/DocsKit/DocsOfflineAccount.swift b/native/apple/Sources/DocsKit/DocsOfflineAccount.swift
new file mode 100644
index 0000000..54586b9
--- /dev/null
+++ b/native/apple/Sources/DocsKit/DocsOfflineAccount.swift
@@ -0,0 +1,87 @@
+import Foundation
+import Observation
+import RastrilloApple
+import RastrilloNative
+
+struct DocsOfflineMetadata: Codable {
+ var detail: DocumentDetail
+ var pendingTitle: String?
+ var draftToken: String?
+}
+
+/// All windows for an account share the same outbox and send reservation.
+@MainActor @Observable final class DocsOfflineAccount {
+ private static var accounts: [String: DocsOfflineAccount] = [:]
+ let store: BlobStore
+ let outbox: Outbox
+ let connectivity: NativeConnectivity
+ private var supplier: @MainActor () -> NativeTransport?
+ private(set) var drainer: OutboxDrainer!
+ static func account(_ id: String, origin: URL, fallback: NativeTransport, transport: (@MainActor () -> NativeTransport?)?) -> DocsOfflineAccount {
+ if let existing = accounts[id] { if let transport { existing.supplier = transport; existing.drainer.sessionRestored() }; return existing }
+ let root = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask)[0]
+ .appendingPathComponent(Bundle.main.bundleIdentifier ?? "works.oficina.docs")
+ .appendingPathComponent("accounts").appendingPathComponent(id)
+ let store = NativeSealedStore(root: root, accountID: id, keys: KeychainKeyProvider(accountID: id, origin: origin))
+ let account = DocsOfflineAccount(store: store, accountID: id, connectivity: .shared, transport: transport ?? { fallback })
+ accounts[id] = account; return account
+ }
+ init(store: BlobStore, accountID: String, connectivity: NativeConnectivity, transport: @escaping @MainActor () -> NativeTransport?) {
+ self.store = store; outbox = Outbox(store: store, account: accountID)
+ self.connectivity = connectivity; supplier = transport
+ drainer = OutboxDrainer(outbox: outbox, transport: { [weak self] in self?.supplier() }, connectivity: connectivity, maxBatchBytes: 512 * 1024) { [weak self] lane, entries, transport in
+ guard let self else { throw CancellationError() }
+ return try await self.send(lane, entries: entries, transport: transport)
+ }
+ }
+ func metadata(_ key: String) throws -> DocsOfflineMetadata? {
+ guard let bytes = try store.read("cache/docs/\(key)/meta") else { return nil }
+ return try JSONDecoder().decode(DocsOfflineMetadata.self, from: bytes)
+ }
+ func saveMetadata(_ metadata: DocsOfflineMetadata, key: String) throws {
+ try store.write(JSONEncoder().encode(metadata), to: "cache/docs/\(key)/meta")
+ }
+ func key(for sqid: String) throws -> String {
+ guard let bytes = try store.read("cache/docs/index") else { return sqid }
+ return try JSONDecoder().decode([String: String].self, from: bytes)[sqid] ?? sqid
+ }
+ func attach(_ sqid: String, key: String) throws {
+ var index = try store.read("cache/docs/index").map { try JSONDecoder().decode([String: String].self, from: $0) } ?? [:]
+ index[sqid] = key
+ try store.write(JSONEncoder().encode(index), to: "cache/docs/index")
+ }
+ private func send(_ lane: String, entries: [OutboxEntry], transport: NativeTransport) async throws -> [UUID: OutboxDrainer.Disposition] {
+ let key = String(lane.dropFirst(4))
+ guard lane.hasPrefix("doc:"), let metadata = try metadata(key), metadata.draftToken == nil else {
+ return Dictionary(uniqueKeysWithValues: entries.map { ($0.id, .retry) })
+ }
+ // The model serializes title requests, including title-only edits.
+ // Its durable metadata blocks text replay until that title is accepted.
+ if metadata.pendingTitle != nil {
+ return Dictionary(uniqueKeysWithValues: entries.map { ($0.id, .retry) })
+ }
+ let merger = CRDTReplica(guid: metadata.detail.guid)
+ _ = try await merger.open(update: Data())
+ var sending = entries
+ let update: Data
+ do { update = try await merger.mergeUpdates(entries.map(\.payload)) }
+ catch { sending = Array(entries.prefix(1)); update = sending[0].payload }
+ await merger.close()
+ let reply = try await transport.responseDetails("/d/\(metadata.detail.sqid)/updates", method: "POST", body: update, contentType: "application/octet-stream")
+ try reply.requireSuccess()
+ return Dictionary(uniqueKeysWithValues: sending.map { ($0.id, .sent) })
+ }
+}
+
+/// Used only by previews and callers that have no NativeAccount (unit tests).
+/// The application always supplies its per-account sealed store.
+final class EphemeralDocsStore: BlobStore, @unchecked Sendable {
+ private let lock = NSLock()
+ private var files: [String: Data] = [:]
+ func read(_ path: String) throws -> Data? { lock.withLock { files[path] } }
+ func write(_ data: Data, to path: String) throws { lock.withLock { files[path] = data } }
+ func remove(_ path: String) throws { lock.withLock { files = files.filter { $0.key != path && !$0.key.hasPrefix(path + "/") } } }
+ func list(_ directory: String) throws -> [String] { lock.withLock {
+ files.keys.filter { $0.hasPrefix(directory + "/") }.map { String($0.dropFirst(directory.count + 1)) }.filter { !$0.contains("/") }.sorted()
+ } }
+}
diff --git a/native/apple/Sources/DocsKit/DocsPersistence.swift b/native/apple/Sources/DocsKit/DocsPersistence.swift
new file mode 100644
index 0000000..08e7000
--- /dev/null
+++ b/native/apple/Sources/DocsKit/DocsPersistence.swift
@@ -0,0 +1,74 @@
+import Foundation
+import RastrilloNative
+
+struct PersistedReplica: Codable, Sendable {
+ let format: Int
+ let sequence: Int64
+ let guid: String
+ let savedAt: Date
+ let state: Data
+}
+
+/// One document's durability boundary. The writer and editor share this
+/// watermark, but only a successful outbox write may advance it.
+@MainActor final class DocsPersistence {
+ let store: BlobStore
+ let outbox: Outbox
+ let key: String
+ let replica: CRDTReplica
+ private(set) var commandsDurable = 0
+ private var active = true
+ var lane: String { "doc:" + key }
+ var path: String { "cache/docs/" + key + "/replica" }
+ init(store: BlobStore, outbox: Outbox, key: String, replica: CRDTReplica) {
+ self.store = store; self.outbox = outbox; self.key = key; self.replica = replica
+ }
+ func reopen(fallback: Data, sequence: Int64) async throws {
+ try await outbox.load()
+ let saved = try store.read(path).map { try JSONDecoder().decode(PersistedReplica.self, from: $0) }
+ if let saved, saved.format != 1 { throw BlobStoreError.unavailable }
+ _ = try await replica.open(update: saved?.state ?? fallback)
+ await replica.setSequence(saved?.sequence ?? sequence)
+ // Replay includes held entries: the editor must show everything kept
+ // here, even when it cannot currently send it.
+ for entry in await outbox.entries(lane: lane) { _ = try await replica.apply(entry.payload) }
+ commandsDurable = 0
+ }
+ func enqueue(_ update: Data) async throws {
+ try await outbox.enqueue(lane: lane, kind: "update", payload: update)
+ commandsDurable += 1
+ }
+ @discardableResult func persist() async throws -> Bool {
+ let captured = try await replica.persistentState()
+ // No suspension between checking the watermark and the atomic write.
+ // A writer running between command and enqueue must defer its capture.
+ guard active, captured.commandsApplied == commandsDurable else { return false }
+ let saved = PersistedReplica(format: 1, sequence: captured.sequence, guid: captured.guid, savedAt: Date(), state: captured.state)
+ try store.write(JSONEncoder().encode(saved), to: path)
+ return true
+ }
+ func compact() async throws {
+ let entries = await outbox.sendable(lane: lane, maxBytes: nil)
+ guard entries.count > 256 || entries.reduce(0, { $0 + $1.payload.count }) > 1024 * 1024 else { return }
+ var batch: [OutboxEntry] = []; var bytes = 0
+ for entry in entries {
+ if !batch.isEmpty && bytes + entry.payload.count > 512 * 1024 { break }
+ batch.append(entry); bytes += entry.payload.count
+ }
+ guard batch.count > 1 else { return }
+ let merged = try await replica.mergeUpdates(batch.map(\.payload))
+ guard merged.count <= 512 * 1024 else { return }
+ // A send can reserve the batch while mergeUpdates suspends. Refusing
+ // that compaction is expected; it must never delete the reservation.
+ do { try await outbox.replace(batch.map(\.id), with: merged) }
+ catch OutboxError.inFlight { }
+ catch OutboxError.unknownEntry { }
+ }
+ func discard() async throws {
+ active = false
+ // Remove the replica first: a crash may replay lane entries again,
+ // but can never leave local text whose lane has already been removed.
+ try store.remove(path)
+ try await outbox.discard(lane: lane)
+ }
+}
diff --git a/native/apple/Sources/DocsKit/DocsWorkspace.swift b/native/apple/Sources/DocsKit/DocsWorkspace.swift
index 004cb35..256a6d8 100644
--- a/native/apple/Sources/DocsKit/DocsWorkspace.swift
+++ b/native/apple/Sources/DocsKit/DocsWorkspace.swift
@@ -12,6 +12,7 @@ import SwiftUI
@State private var sharing = false
@State private var exportRequest: String?
@Environment(\.openWindow) private var openWindow
+ @Environment(\.scenePhase) private var scenePhase
@State private var jumping = false
@State private var discarding = false
@State private var images = DocsImageStore()
@@ -29,10 +30,11 @@ import SwiftUI
private let client: NativeHTTP
/// `transport` supplies the account's current session to the model on every
/// request; without one the model keeps `client` for its whole lifetime.
- public init(client: NativeHTTP, transport: (@MainActor () -> NativeTransport?)? = nil, accounts: (() -> Void)? = nil, signOut: @escaping () -> Void, documentID: String? = nil, newDocument: Bool = false, createDocument: (() -> Void)? = nil, documentChanged: ((String, String) -> Void)? = nil, canSignOut: Bool = true, createRequested: Binding<Bool> = .constant(false), accountsRequested: Binding<Bool> = .constant(false), openDocument: ((String, String) -> Void)? = nil, updateRecents: (([(String, String)]) -> Void)? = nil) {
+ public init(client: NativeHTTP, accountID: String? = nil, transport: (@MainActor () -> NativeTransport?)? = nil, accounts: (() -> Void)? = nil, signOut: @escaping () -> Void, documentID: String? = nil, newDocument: Bool = false, createDocument: (() -> Void)? = nil, documentChanged: ((String, String) -> Void)? = nil, canSignOut: Bool = true, createRequested: Binding<Bool> = .constant(false), accountsRequested: Binding<Bool> = .constant(false), openDocument: ((String, String) -> Void)? = nil, updateRecents: (([(String, String)]) -> Void)? = nil) {
self.updateRecents = updateRecents; self.canSignOut = canSignOut; self._createRequested = createRequested; self._accountsRequested = accountsRequested; self.documentID = documentID; self.openDocument = openDocument
self.newDocument = newDocument; self.createDocument = createDocument; self.documentChanged = documentChanged
- _model = State(initialValue: transport.map { DocsModel(transport: $0, draft: newDocument) } ?? DocsModel(client: client, draft: newDocument)); self.signOut = signOut; self.accounts = accounts; self.client = client
+ let offline = accountID.map { DocsOfflineAccount.account($0, origin: client.origin, fallback: client, transport: transport) }
+ _model = State(initialValue: DocsModel(transport: transport ?? { client }, draft: newDocument, offlineAccount: offline)); self.signOut = signOut; self.accounts = accounts; self.client = client
}
private var library: some View {
List {
@@ -68,8 +70,7 @@ import SwiftUI
#endif
}
.safeAreaInset(edge: .top, spacing: 0) {
- NativeOfflineBanner(connectivity: model.connectivity, origin: client.origin,
- message: String(localized: "docs.offline.banner", defaultValue: "You’re offline. Waiting for a connection.", bundle: DocsResources.bundle))
+ NativeOfflineBanner(connectivity: model.connectivity, origin: client.origin, summary: model.outboxSummary)
}
.onChange(of: model.documents.map { "\($0.sqid)\u{0}\($0.title)" }) {
@@ -88,6 +89,10 @@ import SwiftUI
}
.sheet(isPresented: $jumping) { DocsJumpSheet(model: model, client: client) }
.onDisappear { Task { await model.stop() } }
+ .onChange(of: scenePhase) { _, phase in
+ if phase == .background { Task { await model.persistReplica() } }
+ if phase == .active { model.offlineAccount.drainer.kick() }
+ }
#if os(macOS)
.background { DocsCloseGuard(hasUnsaved: { model.hasUnsavedChanges }, save: { await model.saveAll() }, discard: { await model.discardAll() }).frame(width: 0, height: 0) }
#endif
@@ -147,6 +152,7 @@ import SwiftUI
}
private var editor: some View {
VStack(spacing: 0) {
+ NativeSyncStatusView(status: model.syncStatus)
if let key = model.errorKey {
HStack {
Text(LocalizedStringKey(key), bundle: DocsResources.bundle)
diff --git a/native/apple/Tests/DocsKitTests/OfflineDurabilityTests.swift b/native/apple/Tests/DocsKitTests/OfflineDurabilityTests.swift
new file mode 100644
index 0000000..f90eb62
--- /dev/null
+++ b/native/apple/Tests/DocsKitTests/OfflineDurabilityTests.swift
@@ -0,0 +1,284 @@
+import Foundation
+import RastrilloApple
+import RastrilloNative
+import RastrilloTestSupport
+import XCTest
+@testable import DocsKit
+
+/// Uses the production WASM replica: a lost response really integrates bytes.
+private actor IntegratingServer: NativeTransport {
+ nonisolated let origin = URL(string: "http://localhost:8099")!
+ var online = true
+ var loseNextResponse = false
+ var sequence: Int64 = 0
+ func setOnline(_ value: Bool) { online = value }
+ let replica = CRDTReplica(guid: "offline-property")
+ var accepted: [UUID: Data] = [:]
+ func open(_ initial: Data) async throws { _ = try await replica.open(update: initial) }
+ func accept(_ entries: [OutboxEntry]) async throws {
+ for entry in entries { _ = try await replica.apply(entry.payload); accepted[entry.id] = entry.payload }
+ }
+ func snapshot() async throws -> Data { try await replica.persistentState().state }
+ func text() async throws -> String { try await replica.projection().children.map(\.plainText).joined() }
+ func responseDetails(_ path: String, method: String, body: Data?, contentType: String, maxBytes: Int) async throws -> NativeResponse {
+ guard online else { throw NativeClientError.offline(.notConnectedToInternet) }
+ if method == "POST", path.hasSuffix("/updates"), let body {
+ _ = try await replica.apply(body); sequence += 1
+ if loseNextResponse { loseNextResponse = false; throw NativeClientError.offline(.networkConnectionLost) }
+ return NativeResponse(data: Data(), status: 204, headers: [:])
+ }
+ if path.contains("/updates") {
+ return NativeResponse(data: try await snapshot(), status: 200, headers: ["Docs-Seq": String(sequence)])
+ }
+ let detail = DocumentDetail(sqid: "doc", title: "Document", guid: "offline-property", can_write: true, can_share: false)
+ return NativeResponse(data: try JSONEncoder().encode(detail), status: 200, headers: [:])
+ }
+ func stream(_ path: String, onOpen: @Sendable () async throws -> Void, onLine: @Sendable (String) async throws -> Void) async throws {
+ guard online else { throw NativeClientError.offline(.notConnectedToInternet) }
+ try await onOpen(); try await onLine("data: \(sequence)")
+ try await Task.sleep(for: .seconds(3600))
+ }
+ func download(_ path: String, to destination: URL) async throws { throw NativeClientError.notFound }
+
+ func contains(_ id: UUID) -> Bool { accepted[id] != nil }
+}
+private struct OfflineRandom: RandomNumberGenerator {
+ var seed: UInt64
+ mutating func next() -> UInt64 { seed = seed &* 6364136223846793005 &+ 1442695040888963407; return seed }
+}
+@MainActor final class OfflineDurabilityTests: XCTestCase {
+ private func initial() async throws -> Data {
+ let seed = CRDTReplica(guid: "offline-property")
+ _ = try await seed.open(update: Data())
+ let (update, _) = try await seed.command(["op": .string("insert_element"), "at": .number(0), "type": .string("paragraph")])
+ await seed.close(); return update
+ }
+ private func edit(_ replica: CRDTReplica, _ text: String) async throws -> Data {
+ let projection = try await replica.projection()
+ let at = projection.children.map(\.plainText).joined().utf16.count
+ return try await replica.command(["op": .string("display_edit"), "at": .number(Double(at)), "length": .number(0), "text": .string(text)]).0
+ }
+ func testWriterBetweenCommandAndEnqueueCannotPersistTheCommand() async throws {
+ let disk = MemoryBlobStore(), initial = try await initial()
+ let replica = CRDTReplica(guid: "offline-property")
+ let lane = DocsPersistence(store: disk, outbox: Outbox(store: disk, account: "a"), key: "doc", replica: replica)
+ try await lane.reopen(fallback: initial, sequence: 17)
+ let wroteInitial = try await lane.persist()
+ XCTAssertTrue(wroteInitial)
+ let before = disk.contents[lane.path]
+ let update = try await edit(replica, "A")
+ let premature = try await lane.persist()
+ XCTAssertFalse(premature, "I1a: command returned, but enqueue has not")
+ XCTAssertEqual(disk.contents[lane.path], before)
+ try await lane.enqueue(update)
+ let wrote = try await lane.persist()
+ XCTAssertTrue(wrote)
+ let saved = try JSONDecoder().decode(PersistedReplica.self, from: XCTUnwrap(disk.contents[lane.path]))
+ XCTAssertEqual(saved.sequence, 17)
+ XCTAssertFalse(saved.state.isEmpty)
+ }
+ func testReopenAppliesTheWholeLaneBeforePublishingAndDoesNotDuplicate() async throws {
+ let disk = MemoryBlobStore(), initial = try await initial()
+ let outbox = Outbox(store: disk, account: "a"), replica = CRDTReplica(guid: "offline-property")
+ let lane = DocsPersistence(store: disk, outbox: outbox, key: "draft-token", replica: replica)
+ try await lane.reopen(fallback: initial, sequence: 0)
+ try await lane.enqueue(edit(replica, "A"))
+ _ = try await lane.persist()
+ try await lane.enqueue(edit(replica, "B"))
+ for _ in 0..<2 {
+ let reopened = CRDTReplica(guid: "offline-property")
+ let next = DocsPersistence(store: disk, outbox: Outbox(store: disk, account: "a"), key: "draft-token", replica: reopened)
+ try await next.reopen(fallback: Data(), sequence: 0)
+ let text = try await reopened.projection().children.map(\.plainText).joined()
+ XCTAssertEqual(text, "AB", "I1b: replica contains A; lane contains A and B")
+ }
+ try await lane.discard()
+ XCTAssertNil(disk.contents[lane.path], "Discard cannot leave stranded local text in the replica")
+ let entries = await outbox.entries(lane: lane.lane)
+ XCTAssertTrue(entries.isEmpty)
+ }
+ /// Deterministic generated histories, plus an exhaustive crash sweep at
+ /// replacement's write and every delete. Every assertion reads committed
+ /// bytes through a fresh outbox/replica, not the live writer's memory.
+ func testGeneratedCrashHistoriesPreserveI1AndConverge() async throws {
+ let initial = try await initial()
+ for seed in 1...12 {
+ var random = OfflineRandom(seed: UInt64(seed))
+ var disk = FaultingBlobStore()
+ var outbox = Outbox(store: disk, account: "a")
+ var replica = CRDTReplica(guid: "offline-property")
+ var lane = DocsPersistence(store: disk, outbox: outbox, key: "doc", replica: replica)
+ try await lane.reopen(fallback: initial, sequence: 0)
+ let server = IntegratingServer(); try await server.open(initial)
+ var durableText = ""
+ var flying: [OutboxEntry] = []
+ var symbol = 0
+ for step in 0..<60 {
+ do {
+ switch Int.random(in: 0..<8, using: &random) {
+ case 0, 1:
+ symbol += 1
+ let text = "[\(symbol)]"
+ let update = try await edit(replica, text)
+ let premature = try await lane.persist()
+ XCTAssertFalse(premature, "Writer tick between command and enqueue")
+ try await lane.enqueue(update); durableText += text
+ case 2: _ = try await lane.persist()
+ case 3, 4:
+ if flying.isEmpty { flying = try await outbox.beginSend(lane: lane.lane, maxBytes: 80) }
+ try await server.accept(flying)
+ if step % 2 == 0 {
+ for entry in flying { let has = await server.contains(entry.id); XCTAssertTrue(has) }
+ try await outbox.ack(flying.map(\.id))
+ } // otherwise the response is lost: server has it; disk keeps it
+ await outbox.endSend(flying.map(\.id)); flying = []
+ case 5:
+ let entries = await outbox.entries(lane: lane.lane)
+ if entries.count >= 2 {
+ if step % 2 == 0 {
+ flying = try await outbox.beginSend(lane: lane.lane, maxBytes: 1)
+ do { try await outbox.replace(entries.map(\.id), with: replica.mergeUpdates(entries.map(\.payload))); XCTFail("In-flight replacement must throw") }
+ catch OutboxError.inFlight {}
+ await outbox.endSend(flying.map(\.id)); flying = []
+ } else { try await lane.compact() }
+ }
+ case 6:
+ // A crash before any subsequent store op, including a
+ // writer tick or replacement's first/second step.
+ disk.crash(after: Int.random(in: 0...2, using: &random))
+ let entries = await outbox.entries(lane: lane.lane)
+ if entries.count >= 2 { try await outbox.replace(entries.map(\.id), with: replica.mergeUpdates(entries.map(\.payload))) }
+ else { _ = try await lane.persist() }
+ default:
+ for entry in try await outbox.beginSend(lane: lane.lane, maxBytes: nil) {
+ try await server.accept([entry]); try await outbox.ack([entry.id])
+ }
+ }
+ } catch is SimulatedCrash { }
+ // Reopen after *every* event. This simultaneously checks the
+ // missing-lane and duplicate-text cases at each crash boundary.
+ let frozen = disk.committed
+ let checked = CRDTReplica(guid: "offline-property")
+ let checkLane = DocsPersistence(store: frozen, outbox: Outbox(store: frozen, account: "a"), key: "doc", replica: checked)
+ try await checkLane.reopen(fallback: server.snapshot(), sequence: 0)
+ // Catch up with already acknowledged edits if the replica writer
+ // lagged behind ack; real reopen performs the same server catch-up.
+ _ = try await checked.apply(server.snapshot())
+ let recovered = try await checked.projection().children.map(\.plainText).joined()
+ XCTAssertEqual(recovered, durableText, "seed \(seed), event \(step): I1b / no duplicates")
+ if let data = frozen.contents[lane.path] {
+ let saved = try JSONDecoder().decode(PersistedReplica.self, from: data)
+ let proof = CRDTReplica(guid: "offline-property")
+ _ = try await proof.open(update: server.snapshot())
+ for entry in await Outbox(store: frozen, account: "a").entries(lane: lane.lane) { _ = try await proof.apply(entry.payload) }
+ let prior = try await proof.projection().children.map(\.plainText)
+ _ = try await proof.apply(saved.state)
+ let after = try await proof.projection().children.map(\.plainText)
+ XCTAssertEqual(prior, after, "I1a: replica contains no stranded local edit")
+ await proof.close()
+ }
+ await checked.close()
+ if disk.hasCrashed {
+ await replica.close()
+ disk = FaultingBlobStore(frozen); outbox = Outbox(store: disk, account: "a")
+ replica = CRDTReplica(guid: "offline-property")
+ lane = DocsPersistence(store: disk, outbox: outbox, key: "doc", replica: replica)
+ try await lane.reopen(fallback: server.snapshot(), sequence: 0)
+ _ = try await replica.apply(server.snapshot())
+ flying = []
+ }
+ }
+ // Reconnect and fully drain, with the real integrating replica.
+ let recovered = Outbox(store: disk.committed, account: "a")
+ let entries = await recovered.entries(lane: lane.lane)
+ try await server.accept(entries); try await recovered.ack(entries.map(\.id))
+ let text = try await server.text()
+ XCTAssertEqual(text, durableText, "seed \(seed): convergence after drain")
+ await replica.close()
+ }
+ }
+ func testEveryReplaceCrashBoundaryReopensWithoutLossOrDuplicateText() async throws {
+ let initial = try await initial()
+ let base = MemoryBlobStore(), source = CRDTReplica(guid: "offline-property")
+ let setup = DocsPersistence(store: base, outbox: Outbox(store: base, account: "a"), key: "doc", replica: source)
+ try await setup.reopen(fallback: initial, sequence: 0)
+ _ = try await setup.persist()
+ for text in ["A", "B", "C"] { try await setup.enqueue(edit(source, text)) }
+ for crashAfter in 0...3 {
+ let disk = FaultingBlobStore(MemoryBlobStore(base.contents))
+ let outbox = Outbox(store: disk, account: "a")
+ try await outbox.load()
+ let entries = await outbox.entries(lane: "doc:doc")
+ let merged = try await source.mergeUpdates(entries.map(\.payload))
+ disk.crash(after: crashAfter)
+ do { try await outbox.replace(entries.map(\.id), with: merged) }
+ catch is SimulatedCrash { }
+ let rebuilt = CRDTReplica(guid: "offline-property")
+ let frozen = disk.committed
+ let recovered = DocsPersistence(store: frozen, outbox: Outbox(store: frozen, account: "a"), key: "doc", replica: rebuilt)
+ try await recovered.reopen(fallback: Data(), sequence: 0)
+ let text = try await rebuilt.projection().children.map(\.plainText).joined()
+ XCTAssertEqual(text, "ABC", "Crash at replace operation \(crashAfter)")
+ await rebuilt.close()
+ }
+ await source.close()
+ }
+
+ func testModelReopensOfflineAndDrainsToIntegratingTransport() async throws {
+ let server = IntegratingServer(); try await server.open(initial())
+ let disk = FaultingBlobStore()
+ let connectivity = NativeConnectivity(source: ScriptedPathSource(.satisfied))
+ let account = DocsOfflineAccount(store: disk, accountID: "a", connectivity: connectivity, transport: { server })
+ let model = DocsModel(transport: { server }, connectivity: connectivity, offlineAccount: account)
+ await model.open("doc")
+ XCTAssertNotNil(model.projection)
+ await server.setOnline(false)
+ model.didRender(model.projectionGeneration)
+ XCTAssertTrue(model.enqueue(["op": .string("display_edit"), "at": .number(0), "length": .number(0), "text": .string("Offline edit")]))
+ while model.hasPendingInput { try await Task.sleep(for: .milliseconds(5)) }
+ XCTAssertTrue(model.hasUnsentChanges)
+ // Kill before the two-second writer. Freeze this process's store so
+ // its tasks cannot mutate the new process's committed view.
+ account.drainer.stop(); disk.crash(after: 0)
+ let frozen = disk.committed
+ let nextAccount = DocsOfflineAccount(store: frozen, accountID: "a", connectivity: connectivity, transport: { server })
+ let reopened = DocsModel(transport: { server }, connectivity: connectivity, offlineAccount: nextAccount)
+ await reopened.open("doc")
+ XCTAssertEqual(reopened.projection?.children.map(\.plainText).joined(), "Offline edit")
+ await server.setOnline(true)
+ await reopened.retry()
+ let deadline = ContinuousClock.now.advanced(by: .seconds(3))
+ while reopened.hasUnsavedChanges && .now < deadline { await reopened.flush(); try await Task.sleep(for: .milliseconds(10)) }
+ XCTAssertFalse(reopened.hasUnsavedChanges)
+ let text = try await server.text()
+ XCTAssertEqual(text, "Offline edit")
+ await reopened.stop(); nextAccount.drainer.stop()
+ }
+
+ func testUnlockRetriesFailedUpdateAndResumesAlreadyQueuedCommands() async throws {
+ let server = IntegratingServer(); try await server.open(initial())
+ let disk = FaultingBlobStore()
+ let connectivity = NativeConnectivity(source: ScriptedPathSource(.satisfied))
+ let account = DocsOfflineAccount(store: disk, accountID: "a", connectivity: connectivity, transport: { server })
+ let model = DocsModel(transport: { server }, connectivity: connectivity, offlineAccount: account)
+ await model.open("doc")
+ await server.setOnline(false)
+ disk.unavailable = true
+ for text in ["A", "B"] {
+ XCTAssertTrue(model.enqueue(["op": .string("display_edit"), "at": .number(0), "length": .number(0), "text": .string(text)]))
+ }
+ let deadline = ContinuousClock.now.advanced(by: .seconds(2))
+ while !model.inputPaused && .now < deadline { try await Task.sleep(for: .milliseconds(5)) }
+ XCTAssertTrue(model.inputPaused)
+ disk.unavailable = false
+ await model.retry()
+ let resumed = ContinuousClock.now.advanced(by: .seconds(2))
+ while model.hasPendingInput && .now < resumed { try await Task.sleep(for: .milliseconds(5)) }
+ XCTAssertFalse(model.hasPendingInput, "Retry must resume the queued second command")
+ XCTAssertEqual(model.projection?.children.map(\.plainText).joined(), "BA")
+ await model.persistReplica()
+ XCTAssertFalse(model.hasUnpersistedInput)
+ await model.discardAll(); account.drainer.stop()
+ }
+
+}
diff --git a/native/apple/Tests/DocsKitTests/OfflineKillTests.swift b/native/apple/Tests/DocsKitTests/OfflineKillTests.swift
new file mode 100644
index 0000000..6fb096e
--- /dev/null
+++ b/native/apple/Tests/DocsKitTests/OfflineKillTests.swift
@@ -0,0 +1,63 @@
+import CryptoKit
+import Foundation
+import RastrilloApple
+import RastrilloTestSupport
+import XCTest
+@testable import DocsKit
+
+final class OfflineKillTests: XCTestCase {
+ @MainActor func testTypingProcessAndRecovery() async throws {
+ let env = ProcessInfo.processInfo.environment
+ guard let directory = env["DOCS_KILL_DIR"], let mode = env["DOCS_KILL_MODE"] else {
+ throw XCTSkip("Run native/scripts/test-offline-kill.py")
+ }
+ let root = URL(fileURLWithPath: directory)
+ let config = try JSONDecoder().decode([String: String].self, from: Data(contentsOf: root.appendingPathComponent("connection.json")))
+ let client = NativeHTTP(origin: URL(string: config["origin"]!)!, credential: NativeSession(name: config["name"]!, value: config["value"]!))
+ let path = ScriptedPathSource(mode == "write" ? .satisfied : .unsatisfied)
+ let connectivity = NativeConnectivity(source: path)
+ let keys = ScriptedKeyProvider(key: SymmetricKey(data: Data(repeating: 73, count: 32)))
+ let store = NativeSealedStore(root: root.appendingPathComponent("account"), accountID: "kill-test", keys: keys)
+ let account = DocsOfflineAccount(store: store, accountID: "kill-test", connectivity: connectivity, transport: { client })
+ let model = DocsModel(transport: { client }, connectivity: connectivity, offlineAccount: account)
+ await model.open(config["sqid"]!)
+ XCTAssertNotNil(model.projection)
+ if mode == "write" {
+ let saved = await model.saveAll(); XCTAssertTrue(saved)
+ path.send(.unsatisfied)
+ while connectivity.isPathSatisfied { try await Task.sleep(for: .milliseconds(5)) }
+ try String(ProcessInfo.processInfo.processIdentifier).write(to: root.appendingPathComponent("pid"), atomically: true, encoding: .utf8)
+ for index in 1...200 {
+ model.didRender(model.projectionGeneration)
+ let text = model.projection?.children.map(\.plainText).joined() ?? ""
+ XCTAssertTrue(model.enqueue(["op": .string("display_edit"), "at": .number(Double(text.utf16.count)), "length": .number(0), "text": .string("k3-\(index);")]))
+ while model.hasPendingInput { try await Task.sleep(for: .milliseconds(2)) }
+ if index == 12 {
+ let expected = model.projection?.children.map(\.plainText).joined() ?? ""
+ try expected.write(to: root.appendingPathComponent("expected"), atomically: true, encoding: .utf8)
+ try Data().write(to: root.appendingPathComponent("kill-now"), options: .atomic)
+ // The controller kills us in the middle of this typing run,
+ // before the two-second replica writer can run.
+ try await Task.sleep(for: .seconds(1))
+ }
+ try await Task.sleep(for: .milliseconds(15))
+ }
+ XCTFail("The controller did not kill the typing process")
+ } else {
+ let expected = try String(contentsOf: root.appendingPathComponent("expected"), encoding: .utf8)
+ XCTAssertEqual(model.projection?.children.map(\.plainText).joined(), expected, "Offline reopen must include every durable keystroke exactly once")
+ path.send(.satisfied)
+ while !connectivity.isPathSatisfied { try await Task.sleep(for: .milliseconds(5)) }
+ await model.retry()
+ let deadline = ContinuousClock.now.advanced(by: .seconds(10))
+ while model.hasUnsavedChanges && .now < deadline { await model.flush(); try await Task.sleep(for: .milliseconds(10)) }
+ XCTAssertFalse(model.hasUnsavedChanges)
+ let reply = try await client.responseDetails("/d/\(config["sqid"]!)/updates", maxBytes: 8 * 1024 * 1024)
+ try reply.requireSuccess()
+ let server = CRDTReplica(guid: model.detail!.guid)
+ let projected = try await server.open(update: reply.data)
+ XCTAssertEqual(projected.children.map(\.plainText).joined(), expected, "Real server converges after the killed client's lane drains")
+ await server.close(); await model.stop(); account.drainer.stop()
+ }
+ }
+}
diff --git a/native/crdt/tests/snapshot.rs b/native/crdt/tests/snapshot.rs
new file mode 100644
index 0000000..01422fb
--- /dev/null
+++ b/native/crdt/tests/snapshot.rs
@@ -0,0 +1,28 @@
+use docs_native_crdt::Editor;
+use serde_json::{json, Value};
+
+fn plain(value: &Value) -> String {
+ if let Some(runs) = value["runs"].as_array() {
+ return runs.iter().filter_map(|run| run["insert"].as_str()).collect();
+ }
+ value["children"].as_array().map(|children| children.iter().map(plain).collect()).unwrap_or_default()
+}
+
+// Port of core/tests/snapshot.rs:121, through the native Editor's actual
+// snapshot operation and vendored yrs. encode_diff_v1 drops this pending data.
+#[test]
+fn a_snapshot_with_a_parked_update_heals_once_its_dependency_arrives() {
+ let mut origin = Editor::new("parked", 1);
+ let dependency = origin.command(&json!({"op":"insert_element","at":0,"type":"paragraph"})).unwrap();
+ let dependent = origin.command(&json!({"op":"display_edit","at":0,"length":0,"text":"hello world"})).unwrap();
+ let parked = Editor::new("parked", 2);
+ parked.apply(&dependent).unwrap();
+ assert_eq!(plain(&parked.projection()), "");
+ let rebuilt = Editor::new("parked", 3);
+ rebuilt.apply(&parked.snapshot()).unwrap();
+ assert_eq!(plain(&rebuilt.projection()), "");
+ parked.apply(&dependency).unwrap();
+ rebuilt.apply(&dependency).unwrap();
+ assert_eq!(plain(&parked.projection()), "hello world");
+ assert_eq!(plain(&rebuilt.projection()), plain(&parked.projection()));
+}
diff --git a/native/ios/project.yml b/native/ios/project.yml
index 28ec608..a10e2d2 100644
--- a/native/ios/project.yml
+++ b/native/ios/project.yml
@@ -8,7 +8,7 @@ packages:
path: ../apple
RastrilloNative:
url: https://amadan.net/rastrillo/native
- revision: 14ee567be2e1816002c7db4274acaf2926983b4c
+ revision: 6b6b19814c8df182954db36f1f4637bd0cda181a
settings:
base:
SWIFT_VERSION: '6.0'
diff --git a/native/macos/project.yml b/native/macos/project.yml
index 81fd871..d278c2b 100644
--- a/native/macos/project.yml
+++ b/native/macos/project.yml
@@ -7,7 +7,7 @@ packages:
path: ../apple
RastrilloNative:
url: https://amadan.net/rastrillo/native
- revision: 14ee567be2e1816002c7db4274acaf2926983b4c
+ revision: 6b6b19814c8df182954db36f1f4637bd0cda181a
settings:
base:
SWIFT_VERSION: '6.0'
diff --git a/native/scripts/test-offline-kill.py b/native/scripts/test-offline-kill.py
new file mode 100755
index 0000000..645f66c
--- /dev/null
+++ b/native/scripts/test-offline-kill.py
@@ -0,0 +1,61 @@
+#!/usr/bin/env python3
+"""SIGKILL an actual native editing process mid-typing, reopen offline, drain
+against real authenticated Docs handlers, and compare the server snapshot.
+Requires the CRDT framework built by check-native.sh; never touches user data.
+"""
+import os
+from pathlib import Path
+import signal
+import subprocess
+import tempfile
+import time
+
+root = Path(__file__).resolve().parents[2]
+
+def wait_for(path, process, timeout=120):
+ deadline = time.monotonic() + timeout
+ while not path.exists():
+ if process.poll() is not None:
+ raise RuntimeError(f"process exited {process.returncode} before {path.name}")
+ if time.monotonic() > deadline:
+ raise TimeoutError(path.name)
+ time.sleep(.02)
+
+with tempfile.TemporaryDirectory(prefix="docs-k3-kill-", dir="/tmp") as tmp:
+ scratch = Path(tmp)
+ env = dict(os.environ, DOCS_KILL_DIR=tmp, TMPDIR="/tmp")
+ server_log = (scratch / "server.log").open("w")
+ server = subprocess.Popen(["go", "test", "./internal/docs", "-run", "^TestNativeKillServer$", "-count=1", "-timeout=4m"], cwd=root, env=env, stdout=server_log, stderr=subprocess.STDOUT, start_new_session=True)
+ writer = None
+ try:
+ wait_for(scratch / "connection.json", server)
+ command = ["swift", "test", "--package-path", "native/apple", "--filter", "OfflineKillTests"]
+ with (scratch / "writer.log").open("w") as log:
+ writer = subprocess.Popen(command, cwd=root, env=dict(env, DOCS_KILL_MODE="write"), stdout=log, stderr=subprocess.STDOUT, start_new_session=True)
+ wait_for(scratch / "kill-now", writer)
+ pid = int((scratch / "pid").read_text())
+ os.kill(pid, signal.SIGKILL)
+ result = writer.wait(timeout=20)
+ assert result != 0, "typing process unexpectedly succeeded"
+ print("SIGKILL delivered after 12 durable edits, before coalesced replica write", flush=True)
+ recovered = subprocess.run(command, cwd=root, env=dict(env, DOCS_KILL_MODE="recover"), capture_output=True, text=True, timeout=120)
+ if recovered.returncode:
+ print(recovered.stdout)
+ print(recovered.stderr)
+ raise RuntimeError("offline recovery / real server convergence failed")
+ (scratch / "done").touch()
+ assert server.wait(timeout=15) == 0, "real server fixture failed"
+ print("PASS: offline reopen exact; real server converged; no duplicate text", flush=True)
+ except Exception:
+ # Logs contain only test-generated state. Never print connection.json.
+ for name in ("server.log", "writer.log"):
+ path = scratch / name
+ if path.exists():
+ print(path.read_text()[-12000:])
+ raise
+ finally:
+ for process in (writer, server):
+ if process is not None and process.poll() is None:
+ os.killpg(process.pid, signal.SIGTERM)
+ process.wait(timeout=10)
+ server_log.close()
diff --git a/native/smoke/document-window/Package.resolved b/native/smoke/document-window/Package.resolved
index 0e15d8a..c453853 100644
--- a/native/smoke/document-window/Package.resolved
+++ b/native/smoke/document-window/Package.resolved
@@ -6,7 +6,7 @@
"kind" : "remoteSourceControl",
"location" : "https://amadan.net/rastrillo/native",
"state" : {
- "revision" : "14ee567be2e1816002c7db4274acaf2926983b4c"
+ "revision" : "6b6b19814c8df182954db36f1f4637bd0cda181a"
}
},
{