oficina / docs Public

Mail queue rounds 3-4, and a refused Keymail sign-in gets the door, not bare text

- The queue now matches Slides' after Astra's rounds 3 and 4: only a log
  pump writes to the logger, the worker and close use logf (never
  blocks), close never waits on the pump, and the limit is stated: a
  write blocked inside the logger can only finish or die with the
  process. TestMailQueueCloseIsBoundedWithAStalledLogger asserts that
  with the sink still stalled, then after release. TestMain fails the run
  if a queue worker or pump outlives the tests.
- Docs already sent every Keymail address to Keymail, so a non-admitted
  one that Keymail verified hit rastrillo's bare-text 403. doorOnRefusal
  renders the door with "That address can't sign in to Docs" in the
  refusal's own 403, marked through the request context, never a query.
  The OAuth integration test's refused case now requires it, and that
  /signin?err=refused says nothing; it failed before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev 0e5421b707f788b9112773994044facc8f094a68 parent ec85120
7 files changed, +311 −20
  • internal/docs/app.go +2 −2
  • internal/docs/auth.go +6 −0
  • internal/docs/auth_keymail_test.go +13 −0
  • internal/docs/auth_navigation.go +74 −0
  • internal/docs/mailqueue.go +104 −12
  • internal/docs/mailqueue_test.go +111 −6
  • internal/docs/render.go +1 −0

CI passed — run details

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

added 20 packages, and audited 21 packages in 516ms

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 (81.974423ms)
✔ a network failure or a 5xx is retried, not dropped (60.360192ms)
✔ a 500 is retried the same way a network failure is, never dropped (60.102113ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 240.528657
=== 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 (1.280293ms)
✔ the browser's online event retries immediately, not just on the next backoff tick (0.228995ms)
✔ reportDivergence before any failure runs the first attempt without a caller ever calling online (0.575297ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 42.993385
=== fixtures: the live-update cursor and connection policy
✔ a tab advances its own cursor only when its POST is the very next row (1.326009ms)
✔ the cursor never moves backwards when a response is overtaken by this tab's own write (0.315886ms)
✔ a later response still carries the cursor forward (0.182749ms)
✔ a burst of notifications collapses into one fetch at a time (0.166288ms)
✔ an event naming a seq the tab already has fetches nothing (0.130632ms)
✔ a stopped subscriber drops a response that arrives late (0.176136ms)
✔ stop closes the stream, and start opens exactly one (0.140901ms)
✔ a hidden tab closes its stream on a shortened deadline, and activity reopens it (0.578102ms)
✔ switching away and back inside the grace never drops the stream, so nothing has to be caught up (0.170907ms)
✔ a visible tab that is only being READ closes when idle and comes back on any activity (0.211302ms)
✔ activity while streaming defers the idle close rather than reopening anything (0.129169ms)
✔ a stream failure is never reported as a save failure, and heals on activity (0.165848ms)
✔ an empty response advances the cursor without applying anything (0.11889ms)
✔ a failed fetch leaves the cursor alone so the next notification retries it (0.634917ms)
✔ a decode failure retries once through the raw log, then gives up (0.177169ms)
✔ updatesURL spells the query string exactly, in particular raw as the literal raw=1 (0.117849ms)
ℹ tests 16
ℹ suites 0
ℹ pass 16
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 46.413486
=== fixtures: paragraph alignment in the editor
✔ the class names are the ones the server renders (1.095341ms)
✔ left, absent and unknown alignments all render as no class (0.14001ms)
✔ toDOM emits a class only for a known alignment (0.462047ms)
✔ a pasted paragraph round-trips its alignment and nothing else (0.186246ms)
✔ alignFromClasses is the inverse of alignClass for every alignment (0.134329ms)
✔ with no dispatch the command reports and changes nothing (1.533664ms)
✔ every toolbar alignment command sets the value its name promises (0.175656ms)
✔ the command aligns the block the cursor is in, and only that one (0.374895ms)
✔ the command aligns every block a selection spans (0.31276ms)
✔ choosing left clears the attribute rather than storing a value (0.297511ms)
✔ one transaction per click, not one per block (0.315996ms)
✔ the buttons report the alignment of the block the cursor is in (0.225658ms)
✔ a block that has no alignment attribute is left alone (0.301319ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 106.864065
=== fixtures: the font vocabulary and its default
✔ the faces are serif, sans and mono (0.947197ms)
✔ an unmarked run is sans (0.132525ms)
✔ choosing the default clears the mark rather than setting one (0.531685ms)
✔ choosing a non-default face sets that face mark (0.09699ms)
✔ a face this build does not know is not an instruction to clear (0.102239ms)
✔ every font mark reads back as its own face (0.093594ms)
✔ a non-font mark leaves the face at the default (0.095317ms)
✔ a run carrying two font marks reads as the face that is drawn (0.094205ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 44.218478
=== fixtures: what a pasted blank line means
✔ a Google Docs blank line stops being two lines tall (1.104988ms)
✔ two blank lines stay two blank lines (0.159465ms)
✔ a trailing break-only paragraph becomes a trailing blank line (0.135571ms)
✔ a Shift+Enter break inside a line of text is left alone (0.141182ms)
✔ a paragraph ending in a break is left alone (0.112669ms)
✔ an ordinary paste is returned by identity (0.6636ms)
✔ paragraph attributes are carried onto the blank lines (0.123008ms)
✔ a blank line inside a pasted blockquote is fixed too (0.12955ms)
✔ a break-only heading is not a paragraph and is left alone (0.132386ms)
✔ WebKit's copy marker is ignored (0.180414ms)
✔ an ordinary br still parses as a hard_break (0.174524ms)
✔ the slice keeps its open depths (0.092993ms)
ℹ tests 12
ℹ suites 0
ℹ pass 12
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 51.320823
=== fixtures: the indent vocabulary and its clamp
✔ a real level becomes its class (0.674811ms)
✔ zero, null and absent are all the same answer: no indent (0.130011ms)
✔ a run of digits too large for any integer type still clamps (3.533562ms)
✔ a level past the maximum clamps rather than being emitted (0.171919ms)
✔ anything that is not a whole number renders flush left (0.17826ms)
✔ a numeric string is a number, because that is what the wire carries (0.128008ms)
✔ the class round-trips back to its level for a paste (0.146652ms)
✔ the step is the half inch every word processor uses (0.087001ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 47.156754
=== fixtures: the point ladder, and the four-step scale it replaced
✔ the default is offered, is first, and carries no mark (0.693225ms)
✔ every other size maps to its own mark (0.106517ms)
✔ a size string works, because that is what a <select> gives you (0.563986ms)
✔ a size this build does not offer is undefined, never null (0.104294ms)
✔ no marks means the default size (0.135441ms)
✔ a mark reports its own size (0.101588ms)
✔ the four-step scale still reports a size on the ladder (0.120243ms)
✔ the legacy marks are in the group the toolbar clears (0.098592ms)
✔ the ladder wins over a legacy mark on the same run (0.11357ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 44.222054
=== fixtures: the autoformat rules, and the Backspace that undoes one
✔ "- " starts a bulleted list (2.942536ms)
✔ "* " and "+ " start one too (0.405522ms)
✔ "1. " starts a numbered list (0.251857ms)
✔ "> " starts a quote (0.305015ms)
✔ "# " makes a heading, and "### " makes a level-3 one (0.654594ms)
✔ Backspace right after a rule gives back the typed characters (0.514875ms)
✔ Backspace away from a rule declines, leaving Backspace alone (0.156831ms)
✔ the patterns do not fire where they must not (0.091409ms)
✔ a numbered list always starts at 1 while the renderer ignores order (0.252097ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 60.860319
=== fixtures: counting words, including where there are no spaces
✔ nothing is nothing (0.624798ms)
✔ ordinary English (0.105085ms)
✔ punctuation is not a word (0.108801ms)
✔ a language without spaces between words still counts (0.988513ms)
✔ the document count walks every block (0.874702ms)
✔ a paragraph boundary is a word boundary (0.232681ms)
✔ characters are counted with and without spaces (0.21619ms)
✔ no selection means no selection count, not a zero (0.185273ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 61.503152
=== fixtures: which menu items the editor enables
✔ an extraCommands item is enabled by sync (0.823997ms)
✔ print, the module’s own local command, is enabled too (0.126264ms)
✔ an editor command follows what the command reports (0.143025ms)
✔ a checkable item is pressed and enabled while it is the current one (0.187217ms)
✔ the view pair follows the mode after a switch, with no reload (0.166739ms)
✔ an item with no aria-pressed never gains one (0.150119ms)
✔ with no view, editor commands are disabled and local ones are not (0.122998ms)
ℹ tests 7
ℹ suites 0
ℹ pass 7
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 44.76562
=== fixtures: the editor's chrome writes only what changed
✔ a state update that changes nothing writes nothing to the chrome (4.328234ms)
✔ a state update that changes something still writes it (1.082808ms)
✔ no DOM write in either bar bypasses dom-writes.mjs (1.729086ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 104.900915
=== 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
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.10s
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
core/target/wasm32-unknown-unknown/release/docs_core.wasm (420763 bytes)
=== rust: build, test
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/core)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s
     Running unittests src/lib.rs (core/target/debug/deps/docs_core-698c38d5510e823d)

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-8aeaa24411f447a1)

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-4525f12d1f4f24e5)

running 29 tests
test empty_document_is_empty_output ... ok
test a_hard_break_does_not_split_the_block_it_is_in ... ok
test an_unknown_alignment_is_dropped_from_every_renderer ... ok
test empty_block_is_preserved_like_html ... ok
test escapes_html_in_text ... ok
test escapes_json_in_text ... ok
test a_document_with_no_alignment_renders_exactly_as_it_did_before ... 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 json_names_every_font_mark ... ok
test json_is_deterministic ... ok
test nested_blocks_do_not_duplicate_their_text ... ok
test json_marks_are_in_a_fixed_order ... ok
test reads_paragraphs_as_blocks ... ok
test json_reports_paragraph_alignment ... ok
test renders_a_hard_break_in_every_renderer ... ok
test renders_every_font_mark_as_a_classed_span ... ok
test renders_block_indent_as_a_class ... ok
test renders_headings_and_lists ... ok
test renders_paragraphs_as_html ... ok
test renders_marks ... ok
test renders_the_document_as_prosemirror_json ... ok
test renders_font_and_size_marks_as_classed_spans ... ok
test renders_paragraph_alignment_as_a_class ... ok
test unknown_nodes_keep_their_text ... ok
test text_sibling_before_a_block_is_separated ... 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-ef3150737a2eca72)

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-87abf30017af9908)

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-70f768d4a54e977a)

running 5 tests
test garbage_does_not_verify ... ok
test a_snapshot_of_this_document_verifies ... 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 a_snapshot_with_a_parked_update_heals_once_its_dependency_arrives ... 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-8082ecb4f8a73e4c)

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
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.03s
    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
    |
449core/target/wasm32-unknown-unknown/release/docs_core.wasm (420763 bytes)
 |     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.03s
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 21.76s

     Running tests/wire_compat.rs (core/target/debug/deps/wire_compat-5a8cbf99ff99ba4e)

running 6 tests
test abi_rejects_garbage_without_panicking ... ok
test applies_concurrent ... ok
test applies_hello ... ok
test applies_formatted ... ok
test abi_round_trips_a_fixture ... ok
test applies_unicode ... 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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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.03s
     Running tests/wire_compat.rs (target/debug/deps/wire_compat-5a8cbf99ff99ba4e)

running 6 tests
test abi_rejects_garbage_without_panicking ... ok
test applies_concurrent ... ok
test applies_formatted ... ok
test applies_hello ... ok
test abi_round_trips_a_fixture ... ok
test applies_unicode ... 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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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.348s
ok  	github.com/carlosframework/docs/internal/core	9.594s
ok  	github.com/carlosframework/docs/internal/docs	68.417s
ok  	github.com/carlosframework/docs/internal/docs/linkstore	0.209s
ok  	github.com/carlosframework/docs/internal/docs/principalstore	0.073s
ok  	github.com/carlosframework/docs/internal/docs/teamstate	0.011s
ok  	github.com/carlosframework/docs/internal/export	0.094s
ok  	github.com/carlosframework/docs/internal/fonts	0.011s
ok  	github.com/carlosframework/docs/internal/lint	0.043s
?   	github.com/carlosframework/docs/internal/pdf	[no test files]
=== go: build ./... (the app, not just the packages tests import)
gate: ok
=== native ===
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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.08s
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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.03s
     Running unittests src/lib.rs (native/crdt/target/debug/deps/docs_native_crdt-1ffa90d0f27ed8a0)

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-93a9bba600a2a9ca)

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-c995ae6e6d397175)

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-0f80fa74d3416e7f)

running 4 tests
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 unknown_client_deletion_survives_snapshot_before_source_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-e0edc6cf7e306c61)

running 20 tests
test concatenated_log_applies_every_update ... ok
test changing_block_preserves_existing_inline_formatting ... ok
test reads_existing_yjs_fragment_without_rewriting ... ok
test deleting_and_replacing_inline_images_preserves_surrounding_text ... ok
test concurrent_insertions_and_own_undo_preserve_peer ... 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 selection_anchor_tracks_peer_insertion_in_utf16 ... ok
test paragraph_split_keeps_prefix_identity_and_suffix_marks ... ok
test rich_paste_preserves_native_marks_and_existing_suffix ... ok
test distinct_display_generations_preserve_peer_and_authoritative_undo ... ok
test cross_paragraph_replacement_keeps_prefix_id_and_formatted_suffix ... ok
test list_item_sink_and_lift_keep_text_and_marks ... ok
test rich_paste_at_empty_block_keeps_heading_and_list_structure ... ok
test optimistic_newline_typeahead_resolves_new_paragraph_in_source ... ok
test rich_paste_rule_retains_suffix_as_separate_paragraph ... ok
test utf16_edits_preserve_identity_and_marks ... ok
test toggling_existing_list_changes_type_and_lifts_without_nesting ... ok
test select_all_replaces_multiple_native_text_nodes_and_terminal_separator ... 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-7f1d995951d2b486)

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-755ea7efb3408036)

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-0b4a5641ffbdd361)

running 5 tests
test formatting_does_not_merge_unrelated_existing_adjacent_lists ... ok
test quote_toggle_lifts_only_selected_block_preserving_prefix_identity_and_marks ... ok
test quote_range_can_lift_last_to_first_without_stale_ids ... ok
test adjacent_list_wrapping_merges_only_after_all_targets_are_applied ... ok
test quote_wrap_groups_selected_paragraphs_in_one_container ... 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

    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
     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.28s

   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 401ms
warning: unused import: `ArrayRef`
  --> /home/paulca/.local/state/amadan/runner/repos/oficina__docs/wt/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/fix__keymail-signin/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/internal/docs/app.go b/internal/docs/app.go
index c122cff..548e0b7 100644
--- a/internal/docs/app.go
+++ b/internal/docs/app.go
@@ -603,8 +603,8 @@ func New(cfg Config) (*App, error) {
// the menu was open cannot turn the click into a sign-in loop.
r.Post("/appearance", chrome.HandleAppearance)
r.Post("/signin", h.beginSignin(authPlugin.Begin))
- r.Get("/auth/callback", localAuthGuard(home, authPlugin.Callback))
- r.Get("/auth/verify", localAuthGuard(home, authPlugin.Verify))
+ r.Get("/auth/callback", localAuthGuard(home, doorOnRefusal(authPlugin.Callback, h.signin)))
+ r.Get("/auth/verify", localAuthGuard(home, doorOnRefusal(authPlugin.Verify, h.signin)))
// The published document, and the only route here no session guards.
// It is authorized by the token in its own path (links.go) rather
// than by who is asking — which is what a capability is, and why it
diff --git a/internal/docs/auth.go b/internal/docs/auth.go
index f7e6e48..9661838 100644
--- a/internal/docs/auth.go
+++ b/internal/docs/auth.go
@@ -512,6 +512,12 @@ func (h *handlers) signin(w http.ResponseWriter, r *http.Request) {
default:
form.Error = rastrillo.T(r, "docs.signin.error.unknown")
}
+ if refusedHere(r) {
+ // Keymail or a link verified the address and the allowlist
+ // does not hold it, in this very response (doorOnRefusal).
+ // Never from the query. The form is the way on.
+ form.Error = rastrillo.T(r, "docs.signin.error.refused")
+ }
data.Form = form
}
data.Frame = h.frame(r, frameOptions{titleParts: []string{page}, signinPage: true})
diff --git a/internal/docs/auth_keymail_test.go b/internal/docs/auth_keymail_test.go
index 769897c..ee9883c 100644
--- a/internal/docs/auth_keymail_test.go
+++ b/internal/docs/auth_keymail_test.go
@@ -214,6 +214,19 @@ func keymailOAuthChild(t *testing.T) {
}
callback := request("GET", "/auth/callback?"+url.Values{"state": {state}, "code": {"one-code"}}.Encode(), "")
allowed := tc.admitted && tc.returned == "" && !tc.badState && !tc.badPKCE
+ if !tc.admitted && tc.returned == "" && !tc.badState && !tc.badPKCE {
+ // A verified address the allowlist refuses gets the door,
+ // rendered in the refusal's own 403 — not rastrillo's bare
+ // text, and not a query anybody could type.
+ body := callback.Body.String()
+ if callback.Code != http.StatusForbidden || !strings.Contains(body, `name="address"`) || !strings.Contains(body, "docs.signin.error.refused") && !strings.Contains(body, "can’t sign in to Docs") {
+ t.Fatalf("refused OAuth: %d, want the door with the refusal in a 403:\n%s", callback.Code, body)
+ }
+ spoof := request("GET", "/signin?err=refused", "")
+ if strings.Contains(spoof.Body.String(), "can’t sign in to Docs") {
+ t.Fatal("anybody can show the refusal by visiting /signin?err=refused")
+ }
+ }
home := request("GET", "/", "")
if allowed {
if callback.Code != 303 || home.Code != 200 {
diff --git a/internal/docs/auth_navigation.go b/internal/docs/auth_navigation.go
index b2e828a..3cb31d6 100644
--- a/internal/docs/auth_navigation.go
+++ b/internal/docs/auth_navigation.go
@@ -5,6 +5,7 @@ import (
"amadan.net/oficina/estilo.git/chrome"
"amadan.net/oficina/estilo.git/sky"
"bytes"
+ "context"
"net/http"
"net/url"
"strings"
@@ -94,3 +95,76 @@ func (w *signinResponse) Write(p []byte) (int, error) {
}
return w.body.Write(p)
}
+
+// authRefusal is the bare-text body rastrillo/auth's admit() writes,
+// with a 403, when a verified address is not admitted. rastrillo at the
+// version pinned here has no hook to render anything else, so
+// doorOnRefusal recognises this exact answer;
+// TestKeymailOAuthActualIntegration pins it, so a bump that changes the
+// sentence fails loudly.
+const authRefusal = "This address is verified but not admitted here."
+
+// doorOnRefusal wraps rastrillo's Callback and Verify, the handlers that
+// end in admission, and turns its bare-text refusal into the sign-in
+// door, rendered in the refusal's own 403 by door (h.signin) with the
+// refusal marked on the request context (refusedHere). Every other
+// answer, cookies included, passes through untouched.
+//
+// Rendered, not redirected to ?err=refused: a query parameter is
+// something anybody can type, and the sentence means "you proved this
+// address and it is not admitted". Only someone who has just verified
+// the address reaches it, so it is no oracle. Remove it when rastrillo
+// has a refusal hook (feat/auth-refused-hook) and the pin is bumped.
+func doorOnRefusal(next, door http.HandlerFunc) http.HandlerFunc {
+ return func(w http.ResponseWriter, r *http.Request) {
+ rec := &signinResponse{header: make(http.Header)}
+ next(rec, r)
+ if rec.status == http.StatusForbidden && strings.TrimSpace(rec.body.String()) == authRefusal {
+ for _, c := range rec.header.Values("Set-Cookie") {
+ w.Header().Add("Set-Cookie", c)
+ }
+ w.Header().Set("Cache-Control", "no-store")
+ door(&forcedStatus{ResponseWriter: w, status: http.StatusForbidden},
+ r.WithContext(context.WithValue(r.Context(), refusedKey{}, true)))
+ return
+ }
+ for name, values := range rec.header {
+ for _, v := range values {
+ w.Header().Add(name, v)
+ }
+ }
+ if rec.status == 0 {
+ rec.status = http.StatusOK
+ }
+ w.WriteHeader(rec.status)
+ _, _ = w.Write(rec.body.Bytes())
+ }
+}
+
+// refusedKey marks a request doorOnRefusal is answering with the door.
+type refusedKey struct{}
+
+// refusedHere reports whether r is a refusal doorOnRefusal is rendering.
+func refusedHere(r *http.Request) bool {
+ v, _ := r.Context().Value(refusedKey{}).(bool)
+ return v
+}
+
+// forcedStatus answers with status whatever status the page writes.
+type forcedStatus struct {
+ http.ResponseWriter
+ status int
+ wrote bool
+}
+
+func (f *forcedStatus) WriteHeader(int) {
+ if !f.wrote {
+ f.wrote = true
+ f.ResponseWriter.WriteHeader(f.status)
+ }
+}
+
+func (f *forcedStatus) Write(p []byte) (int, error) {
+ f.WriteHeader(f.status)
+ return f.ResponseWriter.Write(p)
+}
diff --git a/internal/docs/mailqueue.go b/internal/docs/mailqueue.go
index d9e1cc5..60de5a2 100644
--- a/internal/docs/mailqueue.go
+++ b/internal/docs/mailqueue.go
@@ -38,11 +38,19 @@ import (
// surfaced: a failure only a permitted address can reach is the oracle
// again.
//
+// Nothing but the log pump ever writes to the logger. The worker and
+// close hand their lines to logf, which never blocks: a buffered
+// channel, and a counted drop when it is full. A stalled log sink can
+// therefore hold only the pump's one write — never a request, never the
+// worker, never close (Astra on #20, round 3). The pump ends when the
+// worker does.
+//
// close drains what is queued within drainTimeout. Past it, the send
// in flight is cancelled through its context, everything still queued
-// is abandoned with a log line, and close waits a short grace for the
+// is abandoned and counted, and close waits a short grace for the
// worker to stop. A mailer that ignores its context is the only way a
-// worker outlives close, and that is logged too.
+// worker outlives close; that is counted in stuck and logged, best
+// effort, too.
type mailQueue struct {
next mail.Sender
admits func(to string) bool
@@ -63,6 +71,24 @@ type mailQueue struct {
ctx context.Context // cancelled when close gives up waiting
cancel context.CancelFunc
done chan struct{}
+
+ logMu sync.RWMutex // logf reads logsClosed; the worker's exit sets it
+ logsClosed bool
+ logs chan logLine // to the pump; logf never blocks on it
+ unlogged atomic.Int64 // lines handed over and not yet written
+ lostLogs atomic.Int64 // lines logf could not hand over
+ stuck atomic.Bool // close gave up on a worker that ignored cancellation
+
+ // refusedLog, when set, is the line the worker logs (through logf,
+ // with a running count and never the address) for each link it
+ // refuses.
+ refusedLog string
+ refusals atomic.Int64
+}
+
+type logLine struct {
+ msg string
+ args []any
}
type mailJob struct {
@@ -75,9 +101,16 @@ const (
mailSendTimeout = time.Minute
mailDrainTimeout = 30 * time.Second
mailAbandonGrace = 5 * time.Second
+ mailLogDepth = 32
)
func newMailQueue(next mail.Sender, admits func(string) bool, gate func(context.Context) bool, logger *slog.Logger) *mailQueue {
+ return newMailQueueLogging(next, admits, gate, logger, "")
+}
+
+// newMailQueueLogging is newMailQueue with refusedLog set (see the
+// field).
+func newMailQueueLogging(next mail.Sender, admits func(string) bool, gate func(context.Context) bool, logger *slog.Logger, refusedLog string) *mailQueue {
if logger == nil {
logger = slog.Default()
}
@@ -85,7 +118,8 @@ func newMailQueue(next mail.Sender, admits func(string) bool, gate func(context.
q := &mailQueue{next: next, admits: admits, gate: gate, logger: logger,
drainTimeout: mailDrainTimeout, sendTimeout: mailSendTimeout,
jobs: make(chan mailJob, mailQueueDepth), ctx: ctx, cancel: cancel,
- done: make(chan struct{})}
+ done: make(chan struct{}), logs: make(chan logLine, mailLogDepth), refusedLog: refusedLog}
+ go q.pump()
go q.run()
return q
}
@@ -114,8 +148,51 @@ func (q *mailQueue) Send(ctx context.Context, to, subject, body string) error {
return nil
}
+// logf hands one error line to the pump. It never blocks: when the
+// pump is behind, the line is counted in lostLogs instead.
+func (q *mailQueue) logf(msg string, args ...any) {
+ q.logMu.RLock()
+ defer q.logMu.RUnlock()
+ if q.logsClosed {
+ q.lostLogs.Add(1)
+ return
+ }
+ q.unlogged.Add(1)
+ select {
+ case q.logs <- logLine{msg: msg, args: args}:
+ default:
+ q.unlogged.Add(-1)
+ q.lostLogs.Add(1)
+ }
+}
+
+// pump is the only goroutine that writes to the logger. It ends when
+// the worker closes logs on its way out.
+//
+// Its limit, stated rather than engineered around: a write blocked
+// inside the logger (a stalled sink) cannot be interrupted from Go. It
+// can only finish, or die with the process. Closing logs does not reach
+// it mid-write, so a stalled sink leaves this one goroutine behind
+// until the sink moves. Nothing else waits on it: not Send, not the
+// worker, not close.
+func (q *mailQueue) pump() {
+ for l := range q.logs {
+ if n := q.lostLogs.Swap(0); n > 0 {
+ q.logger.Error("docs: sign-in mail log lines lost to a slow log sink", "count", n)
+ }
+ q.logger.Error(l.msg, l.args...)
+ q.unlogged.Add(-1)
+ }
+}
+
func (q *mailQueue) run() {
defer close(q.done)
+ defer func() { // after the last logf below; ends the pump
+ q.logMu.Lock()
+ q.logsClosed = true
+ close(q.logs)
+ q.logMu.Unlock()
+ }()
abandoned := 0
for job := range q.jobs {
q.reportDrops()
@@ -128,7 +205,7 @@ func (q *mailQueue) run() {
}
q.reportDrops()
if abandoned > 0 {
- q.logger.Error("docs: sign-in links abandoned at shutdown", "count", abandoned)
+ q.logf("docs: sign-in links abandoned at shutdown", "count", abandoned)
}
}
@@ -136,7 +213,7 @@ func (q *mailQueue) run() {
// Here, on the worker, so the request path never writes a log line.
func (q *mailQueue) reportDrops() {
if n := q.dropped.Swap(0); n > 0 {
- q.logger.Error("docs: sign-in mail queue full; links dropped", "count", n)
+ q.logf("docs: sign-in mail queue full; links dropped", "count", n)
}
}
@@ -145,28 +222,39 @@ func (q *mailQueue) reportDrops() {
func (q *mailQueue) deliver(job mailJob) {
defer func() {
if p := recover(); p != nil {
- q.logger.Error("docs: sign-in mail worker recovered from a panic", "panic", fmt.Sprint(p))
+ q.logf("docs: sign-in mail worker recovered from a panic", "panic", fmt.Sprint(p))
}
}()
if !job.gated || !q.admits(job.to) {
// Not admitted: the link the auth plugin stored is never
// delivered, so it is never redeemed. No address in the log.
+ if q.refusedLog != "" {
+ q.logf(q.refusedLog, "stage", "signin.gate", "refusals_since_boot", q.refusals.Add(1))
+ }
return
}
ctx, cancel := context.WithTimeout(q.ctx, q.sendTimeout)
defer cancel()
if err := q.next.Send(ctx, job.to, job.subject, job.body); err != nil {
- q.logger.Error("docs: send sign-in link", "err", err)
+ q.logf("docs: send sign-in link", "err", err)
}
}
-// wait blocks until every link queued so far has been sent or refused.
-// Tests use it to read the mailer afterwards.
-func (q *mailQueue) wait() { q.pending.Wait() }
+// wait blocks until every link queued so far has been sent or refused,
+// and every line logged about them has been written. Tests use it to
+// read the mailer, and the log, afterwards.
+func (q *mailQueue) wait() {
+ q.pending.Wait()
+ for q.unlogged.Load() > 0 {
+ time.Sleep(time.Millisecond)
+ }
+}
// close stops taking links and drains what is queued, within
// drainTimeout; then it cancels, abandons the rest, and stops the
-// worker (see the type's comment).
+// worker (see the type's comment). It never waits on the log pump:
+// shutdown deliberately does not wait for a write blocked inside the
+// logger, which can only finish or die with the process (see pump).
func (q *mailQueue) close() {
q.mu.Lock()
if q.closed {
@@ -186,6 +274,10 @@ func (q *mailQueue) close() {
select {
case <-q.done:
case <-time.After(mailAbandonGrace):
- q.logger.Error("docs: sign-in mail worker ignored cancellation; left running")
+ // Counted, not written: logging here could hang close on the
+ // very sink that may be the trouble. The worker is still running,
+ // so logf is still safe to call, and never blocks.
+ q.stuck.Store(true)
+ q.logf("docs: sign-in mail worker ignored cancellation; left running")
}
}
diff --git a/internal/docs/mailqueue_test.go b/internal/docs/mailqueue_test.go
index 400bd1d..57623a5 100644
--- a/internal/docs/mailqueue_test.go
+++ b/internal/docs/mailqueue_test.go
@@ -4,6 +4,7 @@ import (
"context"
"fmt"
"log/slog"
+ "os"
"runtime"
"strings"
"sync"
@@ -75,15 +76,21 @@ func TestMailQueueSendNeverBlocksWhenFull(t *testing.T) {
<-done
t.Fatal("Send blocked with the queue full: the request path waited on the queue or the log")
}
- // The drops are the worker's to log, once it is free to.
+ // The drops are the worker's to log, through the pump, once the
+ // sink is free.
free()
q.close()
- mu.Lock()
- defer mu.Unlock()
- for _, m := range msgs {
- if strings.Contains(m, "links dropped") {
- return
+ deadline := time.Now().Add(2 * time.Second)
+ for time.Now().Before(deadline) {
+ mu.Lock()
+ for _, m := range msgs {
+ if strings.Contains(m, "links dropped") {
+ mu.Unlock()
+ return
+ }
}
+ mu.Unlock()
+ time.Sleep(5 * time.Millisecond)
}
t.Fatalf("no drop was logged with twice the queue's depth sent; the log has %q", msgs)
}
@@ -178,3 +185,101 @@ func TestMailQueueCloseIsBoundedAndStopsTheWorker(t *testing.T) {
t.Fatalf("%d goroutines after close, %d before: the queue leaked", n, baseline)
}
}
+
+// mailWorkers counts goroutines running a sign-in mail queue's worker
+// or log pump — the targeted leak check (goleak's idea, without the
+// dependency) TestMain runs after the package's tests.
+func mailWorkers() int {
+ buf := make([]byte, 1<<22)
+ stacks := string(buf[:runtime.Stack(buf, true)])
+ return strings.Count(stacks, "(*mailQueue).run(") + strings.Count(stacks, "(*mailQueue).pump(")
+}
+
+// TestMailQueueCloseIsBoundedWithAStalledLogger: close reports through
+// nothing that can block, and never waits on the log pump. With the log
+// sink stalled — every write hangs — and a relay that never answers but
+// honours cancellation, and WHILE THE SINK IS STILL STALLED:
+//
+// - close returns within its bound;
+// - the mail worker has exited;
+// - at most the one log pump remains, blocked in its write.
+//
+// A write blocked inside the logger cannot be interrupted from Go; it
+// can only finish or die with the process, and shutdown deliberately
+// does not wait for it. So only once the sink is released must the pump
+// exit and the goroutine count return to its baseline (Astra on #20,
+// rounds 3 and 4). The test fails if close waited on the pump, or if
+// the pump could hold the worker.
+func TestMailQueueCloseIsBoundedWithAStalledLogger(t *testing.T) {
+ waitFor := func(cond func() bool) bool {
+ deadline := time.Now().Add(2 * time.Second)
+ for !cond() && time.Now().Before(deadline) {
+ time.Sleep(5 * time.Millisecond)
+ }
+ return cond()
+ }
+ // Baselines, not zero: another test's queue may still be shutting
+ // down beside this one.
+ baseline, workers := runtime.NumGoroutine(), mailWorkers()
+ release := make(chan struct{})
+ var once sync.Once
+ free := func() { once.Do(func() { close(release) }) }
+ t.Cleanup(free)
+ var mu sync.Mutex
+ var msgs []string
+ honours := funcSender(func(ctx context.Context, _ string) error {
+ <-ctx.Done()
+ return ctx.Err()
+ })
+ q := newMailQueue(honours, everyone, nil, slog.New(stuckHandler{release, &mu, &msgs}))
+ q.drainTimeout = 50 * time.Millisecond
+ for i := 0; i < 2*mailQueueDepth; i++ { // drops too, so there is plenty to log
+ _ = q.Send(context.Background(), fmt.Sprintf("p%d@example.test", i), "s", "b")
+ }
+ closed := make(chan struct{})
+ go func() { q.close(); close(closed) }()
+ select {
+ case <-closed:
+ case <-time.After(2 * time.Second):
+ free()
+ <-closed
+ t.Fatal("close hung on a stalled log sink")
+ }
+
+ // The sink is still stalled.
+ select {
+ case <-q.done:
+ default:
+ t.Fatal("the worker was still running after close, held by the stalled log sink")
+ }
+ if !waitFor(func() bool { return runtime.NumGoroutine() <= baseline+1 }) {
+ t.Fatalf("%d goroutines with the sink stalled, %d before: more than the one blocked log pump remains", runtime.NumGoroutine(), baseline)
+ }
+ if n := mailWorkers(); n > workers+1 {
+ t.Fatalf("%d mail queue goroutines with the sink stalled, %d before: want at most the log pump more", n, workers)
+ }
+
+ // Released, the pump finishes its write and exits.
+ free()
+ if !waitFor(func() bool { return mailWorkers() <= workers && runtime.NumGoroutine() <= baseline }) {
+ t.Fatalf("after release: %d mail queue goroutines, %d goroutines against %d before", mailWorkers(), runtime.NumGoroutine(), baseline)
+ }
+}
+
+// TestMain fails the run if any sign-in mail queue worker or log pump
+// outlives the package's tests: every app a test builds is closed in its
+// cleanup (NewForTestWith).
+func TestMain(m *testing.M) {
+ code := m.Run()
+ if code == 0 {
+ deadline := time.Now().Add(5 * time.Second)
+ for mailWorkers() > 0 && time.Now().Before(deadline) {
+ time.Sleep(10 * time.Millisecond)
+ }
+ if n := mailWorkers(); n > 0 {
+ fmt.Fprintf(os.Stderr, "FAIL: %d sign-in mail queue goroutines still running after the tests\n", n)
+ code = 1
+ }
+ }
+ os.Exit(code)
+}
diff --git a/internal/docs/render.go b/internal/docs/render.go
index fd82cfe..0488cb7 100644
--- a/internal/docs/render.go
+++ b/internal/docs/render.go
@@ -287,6 +287,7 @@ var Catalog = rastrillo.Catalog{
"docs.signin.error.address": "That doesn’t look like an email address.",
"docs.signin.error.expired": "That link has expired or was already used. Enter your email to get a new one.",
"docs.signin.error.unknown": "We couldn’t sign you in. Enter your email to get a new link.",
+ "docs.signin.error.refused": "That address can’t sign in to Docs. Use a different address, or ask whoever runs this team to add it.",
// docs.signout.label is the sign-out control's text — both its
// button label and its accessible name. It lives in the shell