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>
This commit is contained in:
qiulaidongfeng
2025-07-26 13:44:12 +08:00
committed by Cherry Mui
parent ca8effbde1
commit 08369369e5

View File

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