-
Rob Pike authored
When a reflect.Value is passed to Printf (etc.), fmt called the String method, which does not disclose its contents. To get the contents, one could call Value.Interface(), but that is illegal if the Value is not exported or otherwise forbidden. This CL improves the situation with a trivial change to the fmt package: when we see a reflect.Value as an argument, we treat it exactly as we treat a reflect.Value we make inside the package. This means that we always print the contents of the Value as if _that_ was the argument to Printf. This is arguably a breaking change but I think it is a genuine improvement and no greater a break than many other tweaks we have made to formatted output from this package. Fixes #8965. Change-Id: Ifc2a4ce3c1134ad5160e101d2196c22f1542faab Reviewed-on: https://go-review.googlesource.com/8731Reviewed-by: roger peppe <rogpeppe@gmail.com> Reviewed-by: Russ Cox <rsc@golang.org>
049b89dc
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
doc.go | ||
export_test.go | ||
fmt_test.go | ||
format.go | ||
print.go | ||
scan.go | ||
scan_test.go | ||
stringer_test.go |