aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqiulaidongfeng <2645477756@qq.com>2025-07-26 13:44:12 +0800
committerCherry Mui <cherryyz@google.com>2025-12-29 12:45:33 -0800
commit08369369e5a4b27d8f6d21ea571ea5027b9a2b46 (patch)
treeb18da411be0f69a9797dc06dea2b35baa225941e
parentca8effbde150257847f90de220686786aa091f90 (diff)
downloadgo-08369369e5a4b27d8f6d21ea571ea5027b9a2b46.tar.xz
reflect: document Call/CallSlice panic when v is unexported field
Fixes #74377 Change-Id: I250d67ef2a4bf4dac939be669eeaf1091523ac06 Reviewed-on: https://go-review.googlesource.com/c/go/+/690617 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Roland Shoemaker <roland@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
-rw-r--r--src/reflect/value.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/reflect/value.go b/src/reflect/value.go
index 7f0ec2a397..8c8acbaa9a 100644
--- a/src/reflect/value.go
+++ b/src/reflect/value.go
@@ -362,6 +362,7 @@ func (v Value) CanSet() bool {
// type of the function's corresponding input parameter.
// If v is a variadic function, Call creates the variadic slice parameter
// itself, copying in the corresponding values.
+// It panics if the Value was obtained by accessing unexported struct fields.
func (v Value) Call(in []Value) []Value {
v.mustBe(Func)
v.mustBeExported()
@@ -375,6 +376,7 @@ func (v Value) Call(in []Value) []Value {
// It returns the output results as Values.
// As in Go, each input argument must be assignable to the
// type of the function's corresponding input parameter.
+// It panics if the Value was obtained by accessing unexported struct fields.
func (v Value) CallSlice(in []Value) []Value {
v.mustBe(Func)
v.mustBeExported()