upstream: https://github.com/avsm/osrelease
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

wal, block, sse, zephyr: remove [mutable] from never-reassigned fields

Warning 69 (unused-field, mutable-never-assigned). Four independent
record fields were flagged as mutable but the code only mutates their
referents in place, never rebinds the record slot itself:

- ocaml-wal/lib/wal.ml: [t.file] (the Eio file resource; methods call
Eio.File.pwrite_all etc., the slot is set once at open time).
- ocaml-block/lib/block.ml: [Memory.state.data] (the backing bytes,
written via Bytes.blit_string; [Bytes.t] is already mutable).
- ocaml-sse/lib/sse.ml: [Parser.t.data_buf] (a Buffer.t, written via
Buffer.add_*; the slot never changes).
- ocaml-zephyr/lib/zephyr.ml: drop [mode : Read | Write] entirely —
set at open-time, read nowhere. The open_read / open_write
constructors already distinguish the two call shapes, so mode
tracking was redundant.

+5 -3
+1 -1
dune-project
··· 1 - (lang dune 2.3) 1 + (lang dune 3.21) 2 2 (name osrelease) 3 3 (generate_opam_files true) 4 4
+4 -2
osrelease.opam
··· 13 13 homepage: "https://github.com/avsm/osrelease" 14 14 bug-reports: "https://github.com/avsm/osrelease/issues" 15 15 depends: [ 16 - "dune" {>= "2.3"} 16 + "dune" {>= "3.21"} 17 17 "ocaml" {>= "4.06.0"} 18 18 "bos" 19 19 "astring" 20 20 "fmt" 21 + "odoc" {with-doc} 21 22 ] 22 23 build: [ 23 - ["dune" "subst"] {pinned} 24 + ["dune" "subst"] {dev} 24 25 [ 25 26 "dune" 26 27 "build" ··· 34 35 ] 35 36 ] 36 37 dev-repo: "git+https://github.com/avsm/osrelease.git" 38 + x-maintenance-intent: ["(latest)"] 37 39 x-quality-build: "2026-04-15" 38 40 x-quality-test: "2026-04-15"