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()
--
⑨