shithub: furgit

Download patch

ref: db860b02aa05551d8d70cce512f39bb24b935fbc
parent: 8241d389a672fb977a0c49cf0dab22a0a2b4c741
author: Runxi Yu <runxiyu@umich.edu>
date: Tue Mar 31 07:39:35 EDT 2026

object/id: Mut-Never RawBytes

--- a/furgit.go
+++ b/furgit.go
@@ -60,6 +60,10 @@
 //   - Close-No: the caller must not close the returned value directly.
 //   - Close-Idem: repeated Close calls are safe.
 //
+// Mutation labels:
+//
+//   - Mut-Never: returned values must not be mutated.
+//
 // Unless Close-Idem is specified, repeated Close calls are undefined behavior.
 //
 // Unless a doc comment explicitly states otherwise, these labels describe the
--- a/object/id/objectid_byte.go
+++ b/object/id/objectid_byte.go
@@ -9,10 +9,9 @@
 
 // RawBytes returns a direct byte slice view of the object ID bytes.
 //
-// The returned slice aliases the object ID's internal storage. Callers MUST
-// treat it as read-only and MUST NOT modify its contents.
-//
 // Use Bytes when an independent copy is required.
+//
+// Labels: Mut-Never.
 func (id *ObjectID) RawBytes() []byte {
 	size := id.Algorithm().Size()
 
--