The unpac monorepo manager self-hosting as a monorepo using unpac

also add `Cstruct_cap.sub_copy`

+12
+4
vendor/opam/cstruct/lib/cstruct_cap.ml
··· 56 56 Cstruct.sub t off len 57 57 [@@inline] 58 58 59 + let sub_copy t ~off ~len = 60 + Cstruct.sub_copy t off len 61 + [@@inline] 62 + 59 63 let unsafe_to_bigarray = Cstruct.to_bigarray 60 64 61 65 let concat vss =
+8
vendor/opam/cstruct/lib/cstruct_cap.mli
··· 146 146 147 147 @raise Invalid_argument if the offset exceeds [t] length. *) 148 148 149 + val sub_copy : 'a t -> off:int -> len:int -> rdwr t 150 + (** [sub_copy t ~off ~len] is a new copy of [sub t ~off ~len], 151 + that does not share the underlying buffer of [t]. 152 + The returned value has read-write capabilities because it doesn't 153 + affect [t]. 154 + 155 + @raise Invalid_argument if the offset exceeds [t] length. *) 156 + 149 157 val shift : 'a t -> int -> 'a t 150 158 (** [shift t len] returns a proxy which shares the underlying buffer of [t]. The 151 159 returned value starts [len] bytes later than the given [t]. The returned