commit | 4bbd8505dc59886b4df24f8231f98e89c51f46ea | [log] [tgz] |
---|---|---|
author | Jonathan Amsterdam <jba@google.com> | Wed Sep 28 10:24:00 2022 -0400 |
committer | Jonathan Amsterdam <jba@google.com> | Tue Oct 04 19:16:54 2022 +0000 |
tree | 989ca619b0a1855851c6a8e17897befbc9d051fc | |
parent | 3fe0347cd05f48bcf98befe317a02c85270dc22b [diff] |
slog: split Value off from Attr Move the value part of an Attr into its own type. Besides making sense on general grounds--the key and value are really independent of each other--it also paves the way for type Marshaler interface { MarshalLog() Value } which will provide a way for types to replace their values for logging. We considered having MarshalLog return Attr and ignore the key, but this seems better. The main negative consequence of this split is the duplication of constructor functions. We use the longer XXXValue for Values, since most people will construct Attrs, not Values. Fast switching on generic type parameters (https://go.dev/issue/45380) would ameliorate this, because we would need only one constructor function per type. Change-Id: I974c5dba1bb0fbcd35aaf8e19f3a81daac6e8094 Reviewed-on: https://go-review.googlesource.com/c/exp/+/437956 Reviewed-by: Alan Donovan <adonovan@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com>
This subrepository holds experimental and deprecated (in the old
directory) packages.
The idea for this subrepository originated as the pkg/exp
directory of the main repository, but its presence there made it unavailable to users of the binary downloads of the Go installation. The subrepository has therefore been created to make it possible to go get
these packages.
Warning: Packages here are experimental and unreliable. Some may one day be promoted to the main repository or other subrepository, or they may be modified arbitrarily or even disappear altogether.
In short, code in this subrepository is not subject to the Go 1 compatibility promise. (No subrepo is, but the promise is even more likely to be violated by go.exp than the others.)
Caveat emptor.