types/lazy: document difference from sync.OnceValue

Updates #8419
Updates github.com/golang#62202

Change-Id: I0c082c4258fb7a95a17054f270dc32019bcc7581
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2025-10-06 08:23:11 -07:00 committed by Brad Fitzpatrick
parent cf520a3371
commit f208bf8cb1

View File

@ -23,6 +23,9 @@ var nilErrPtr = ptr.To[error](nil)
// Recursive use of a SyncValue from its own fill function will deadlock.
//
// SyncValue is safe for concurrent use.
//
// Unlike [sync.OnceValue], the linker can do better dead code elimination
// with SyncValue. See https://github.com/golang/go/issues/62202.
type SyncValue[T any] struct {
once sync.Once
v T