[go] reflect: add iterator equivalents for NumField, NumIn, NumOut and NumMethod

8 views
Skip to first unread message

Gerrit Bot (Gerrit)

unread,
Sep 28, 2025, 7:02:46 PM (3 days ago) Sep 28
to goph...@pubsubhelper.golang.org, Quentin Quaadgras, golang-co...@googlegroups.com

Gerrit Bot has uploaded the change for review

Commit message

reflect: add iterator equivalents for NumField, NumIn, NumOut and NumMethod

The new methods are Type.Fields, Type.Methods, Type.Ins, Type.Outs, Value.Fields and Value.Methods.

Fixes #66631
Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
GitHub-Last-Rev: 6c6e78c651c7077c604f9291f6bd1f796177918f
GitHub-Pull-Request: golang/go#75646

Change diff

diff --git a/src/reflect/type.go b/src/reflect/type.go
index fc6edb1..ccc1f3d 100644
--- a/src/reflect/type.go
+++ b/src/reflect/type.go
@@ -18,6 +18,7 @@
import (
"internal/abi"
"internal/goarch"
+ "iter"
"runtime"
"strconv"
"sync"
@@ -255,6 +256,20 @@
// CanSeq2 reports whether a [Value] with this type can be iterated over using [Value.Seq2].
CanSeq2() bool

+ // Fields yields each field of a struct type.
+ // It panics if the type's Kind is not Struct.
+ Fields() iter.Seq[StructField]
+ // Methods yields each method in the type's method set.
+ // See [Type.Method] for information on the yielded methods.
+ Methods() iter.Seq[Method]
+
+ // Ins yields each input parameter of a function type, in order.
+ // It panics if the type's Kind is not Func.
+ Ins() iter.Seq[Type]
+ // Outs yields each output parameter of a function type, in order.
+ // It panics if the type's Kind is not Func.
+ Outs() iter.Seq[Type]
+
common() *abi.Type
uncommon() *uncommonType
}
@@ -934,6 +949,46 @@
return yield.InCount == 2 && yield.OutCount == 1 && yield.Out(0).Kind() == abi.Bool
}

+func (t *rtype) Fields() iter.Seq[StructField] {
+ return func(yield func(StructField) bool) {
+ for i := range t.NumField() {
+ if !yield(t.Field(i)) {
+ return
+ }
+ }
+ }
+}
+
+func (t *rtype) Methods() iter.Seq[Method] {
+ return func(yield func(Method) bool) {
+ for i := range t.NumMethod() {
+ if !yield(t.Method(i)) {
+ return
+ }
+ }
+ }
+}
+
+func (t *rtype) Ins() iter.Seq[Type] {
+ return func(yield func(Type) bool) {
+ for i := range t.NumIn() {
+ if !yield(t.In(i)) {
+ return
+ }
+ }
+ }
+}
+
+func (t *rtype) Outs() iter.Seq[Type] {
+ return func(yield func(Type) bool) {
+ for i := range t.NumOut() {
+ if !yield(t.Out(i)) {
+ return
+ }
+ }
+ }
+}
+
// add returns p+x.
//
// The whySafe string is ignored, so that the function still inlines
diff --git a/src/reflect/value.go b/src/reflect/value.go
index c0ac45de..1012dcc 100644
--- a/src/reflect/value.go
+++ b/src/reflect/value.go
@@ -10,6 +10,7 @@
"internal/goarch"
"internal/itoa"
"internal/unsafeheader"
+ "iter"
"math"
"runtime"
"unsafe"
@@ -2620,6 +2621,47 @@
panic(&ValueError{"reflect.Value.UnsafePointer", v.kind()})
}

+// Fields yields each field of v, along with its description.
+//
+// It panics if v's Kind is not Struct.
+//
+// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
+func (v Value) Fields() iter.Seq2[StructField, Value] {
+ return func(yield func(StructField, Value) bool) {
+ rtype := v.Type()
+ for i := range v.NumField() {
+ if !yield(rtype.Field(i), v.Field(i)) {
+ return
+ }
+ }
+ }
+}
+
+// Methods yields a function value corresponding to each method of v,
+// along with a description of the method.
+//
+// The arguments to a Call on the yielded function value should not include a receiver;
+// the returned function will always use v as the receiver. Note that [Method.Type]
+// in each yielded [Method] does include the receiver, and thus is not the same as
+// [Value.Type()].
+//
+// Methods panics if v is a nil interface value.
+//
+// The i'th method yielded by Methods is the same as [Type.Method(i)] and [Value.Method(i)].
+//
+// Calling this method will force the linker to retain all exported methods in all packages.
+// This may make the executable binary larger but will not affect execution time.
+func (v Value) Methods() iter.Seq2[Method, Value] {
+ return func(yield func(Method, Value) bool) {
+ rtype := v.Type()
+ for i := range v.NumMethod() {
+ if !yield(rtype.Method(i), v.Method(i)) {
+ return
+ }
+ }
+ }
+}
+
// StringHeader is the runtime representation of a string.
// It cannot be used safely or portably and its representation may
// change in a later release.

Change information

Files:
  • M src/reflect/type.go
  • M src/reflect/value.go
Change size: M
Delta: 2 files changed, 97 insertions(+), 0 deletions(-)
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newchange
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
Gerrit-Change-Number: 707356
Gerrit-PatchSet: 1
Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
unsatisfied_requirement
satisfied_requirement
open
diffy

Gopher Robot (Gerrit)

unread,
Sep 28, 2025, 7:02:48 PM (3 days ago) Sep 28
to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

Gopher Robot added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Gopher Robot . unresolved

I spotted some possible problems with your PR:

  1. You have a long 99 character line in the commit message body. Please add line breaks to long lines that should be wrapped. Lines in the commit message body should be wrapped at ~76 characters unless needed for things like URLs or tables. (Note: GitHub might render long lines as soft-wrapped, so double-check in the Gerrit commit message shown above.)

Please address any problems by updating the GitHub PR.

When complete, mark this comment as 'Done' and click the [blue 'Reply' button](https://go.dev/wiki/GerritBot#i-left-a-reply-to-a-comment-in-gerrit-but-no-one-but-me-can-see-it) above. These findings are based on heuristics; if a finding does not apply, briefly reply here saying so.

To update the commit title or commit message body shown here in Gerrit, you must edit the GitHub PR title and PR description (the first comment) in the GitHub web interface using the 'Edit' button or 'Edit' menu entry there. Note: pushing a new commit to the PR will not automatically update the commit message used by Gerrit.

For more details, see:

(In general for Gerrit code reviews, the change author is expected to [log in to Gerrit](https://go-review.googlesource.com/login/) with a Gmail or other Google account and then close out each piece of feedback by marking it as 'Done' if implemented as suggested or otherwise reply to each review comment. See the [Review](https://go.dev/doc/contribute#review) section of the Contributing Guide for details.)

Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    • requirement is not satisfiedTryBots-Pass
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
    Gerrit-Change-Number: 707356
    Gerrit-PatchSet: 1
    Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
    Gerrit-CC: Gopher Robot <go...@golang.org>
    Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
    Gerrit-Comment-Date: Sun, 28 Sep 2025 23:02:43 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Sean Liao (Gerrit)

    unread,
    Sep 28, 2025, 7:04:49 PM (3 days ago) Sep 28
    to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Gopher Robot, golang-co...@googlegroups.com

    Sean Liao voted and added 1 comment

    Votes added by Sean Liao

    Hold+1

    1 comment

    Patchset-level comments
    Sean Liao . unresolved

    this needs an accepted https://go.dev/s/proposal

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Holds
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      • requirement is not satisfiedTryBots-Pass
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: go
      Gerrit-Branch: master
      Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
      Gerrit-Change-Number: 707356
      Gerrit-PatchSet: 1
      Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
      Gerrit-Reviewer: Sean Liao <se...@liao.dev>
      Gerrit-CC: Gopher Robot <go...@golang.org>
      Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
      Gerrit-Comment-Date: Sun, 28 Sep 2025 23:04:39 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      unsatisfied_requirement
      open
      diffy

      Sean Liao (Gerrit)

      unread,
      Sep 28, 2025, 7:17:06 PM (3 days ago) Sep 28
      to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Gopher Robot, golang-co...@googlegroups.com

      Sean Liao voted and added 2 comments

      Votes added by Sean Liao

      Commit-Queue+1
      Hold+0

      2 comments

      Patchset-level comments
      Sean Liao . resolved

      this needs an accepted https://go.dev/s/proposal

      Sean Liao

      ah I didn't see the proposal...

      Sean Liao . unresolved

      This will need additions to api/ and doc/.
      CI should fail, check the test logs for the expected additions for api/

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 1
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Comment-Date: Sun, 28 Sep 2025 23:16:57 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: Sean Liao <se...@liao.dev>
        unsatisfied_requirement
        open
        diffy

        Jorropo (Gerrit)

        unread,
        Sep 28, 2025, 7:17:25 PM (3 days ago) Sep 28
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Go LUCI, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Sean Liao

        Jorropo voted and added 2 comments

        Votes added by Jorropo

        Commit-Queue+1

        2 comments

        Patchset-level comments
        Jorropo . unresolved

        I think this needs tests.

        I guess there must be tests for the existing non iterator versions, it would make sense to update them to run on both the iterator and slices backed versions.

        Sean Liao . resolved

        this needs an accepted https://go.dev/s/proposal

        Jorropo

        There is an accepted proposal with this exact API at https://github.com/golang/go/issues/66631#issuecomment-3335716931

        Also it is linked in the `Fixes #66631` in the commit message.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 1
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Comment-Date: Sun, 28 Sep 2025 23:17:17 +0000
        unsatisfied_requirement
        open
        diffy

        Sean Liao (Gerrit)

        unread,
        Sep 28, 2025, 7:46:48 PM (3 days ago) Sep 28
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Quentin Quaadgras

        Sean Liao added 3 comments

        Commit Message
        Line 9, Patchset 1 (Latest):The new methods are Type.Fields, Type.Methods, Type.Ins, Type.Outs, Value.Fields and Value.Methods.
        Sean Liao . unresolved

        wrap lines

        File src/reflect/type.go
        Line 262, Patchset 1 (Latest): // Methods yields each method in the type's method set.
        Sean Liao . unresolved

        add newlines between the previous method and the next comment

        File src/reflect/value.go
        Line 2628, Patchset 1 (Latest):// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
        Sean Liao . unresolved

        I don't think the linking syntax is correct.
        check with go doc -htrp

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Quentin Quaadgras
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 1
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Comment-Date: Sun, 28 Sep 2025 23:46:39 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 28, 2025, 8:46:19 PM (3 days ago) Sep 28
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements

        Quentin Quaadgras added 1 comment

        File src/reflect/value.go
        Line 2628, Patchset 1 (Latest):// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
        Sean Liao . unresolved

        I don't think the linking syntax is correct.
        check with go doc -htrp

        Quentin Quaadgras

        There are a few cases of this, including in Type, where [Type.Method] is referenced but does not render as a link in pkg.go.dev (this particularly example also affects the existing Type.CanSeq declaration, which refers to [Value] and [Value.Seq]).

        In addition to this, it's not actually possible to render inline links to interface methods or struct fields, which effects "[Type.Method]", as well as "[Method.Type]".

        I think @aus...@google.com may have written the proposal documentation?

        There are a number of limitations and unexpected quirks like this with Go documentation rendered in pkg.do.dev, I opened a related issue on this (https://golang.org/issue/75484) and my workaround there was to fallback to using footer links when things like this didn't render as expected.

        Unfortunately, this workaround doesn't apply to interface method documentation which doesn't render links in the same way as exported methods. Should we be tracking any issues on this?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 1
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Mon, 29 Sep 2025 00:46:13 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Sean Liao <se...@liao.dev>
        unsatisfied_requirement
        open
        diffy

        Gerrit Bot (Gerrit)

        unread,
        Sep 28, 2025, 8:50:20 PM (3 days ago) Sep 28
        to Quentin Quaadgras, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Gerrit Bot uploaded new patchset

        Gerrit Bot uploaded patch set #2 to this change.
        Following approvals got outdated and were removed:
        • TryBots-Pass: LUCI-TryBot-Result-1 by Go LUCI
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: newpatchset
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 2
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 28, 2025, 8:55:32 PM (3 days ago) Sep 28
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Quentin Quaadgras added 1 comment

        File src/reflect/type.go
        Line 262, Patchset 1: // Methods yields each method in the type's method set.
        Sean Liao . resolved

        add newlines between the previous method and the next comment

        Quentin Quaadgras

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 2
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Mon, 29 Sep 2025 00:55:27 +0000
        unsatisfied_requirement
        open
        diffy

        Gerrit Bot (Gerrit)

        unread,
        Sep 28, 2025, 8:57:34 PM (3 days ago) Sep 28
        to Quentin Quaadgras, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Gerrit Bot uploaded new patchset

        Gerrit Bot uploaded patch set #3 to this change.
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: newpatchset
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 3
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 28, 2025, 9:11:35 PM (3 days ago) Sep 28
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Quentin Quaadgras added 1 comment

        Commit Message
        Line 9, Patchset 1:The new methods are Type.Fields, Type.Methods, Type.Ins, Type.Outs, Value.Fields and Value.Methods.
        Sean Liao . resolved

        wrap lines

        Quentin Quaadgras

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 3
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Mon, 29 Sep 2025 01:11:30 +0000
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 28, 2025, 9:11:50 PM (3 days ago) Sep 28
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Quentin Quaadgras added 1 comment

        Patchset-level comments
        File-level comment, Patchset 1:
        Gopher Robot . resolved

        I spotted some possible problems with your PR:

          1. You have a long 99 character line in the commit message body. Please add line breaks to long lines that should be wrapped. Lines in the commit message body should be wrapped at ~76 characters unless needed for things like URLs or tables. (Note: GitHub might render long lines as soft-wrapped, so double-check in the Gerrit commit message shown above.)

        Please address any problems by updating the GitHub PR.

        When complete, mark this comment as 'Done' and click the [blue 'Reply' button](https://go.dev/wiki/GerritBot#i-left-a-reply-to-a-comment-in-gerrit-but-no-one-but-me-can-see-it) above. These findings are based on heuristics; if a finding does not apply, briefly reply here saying so.

        To update the commit title or commit message body shown here in Gerrit, you must edit the GitHub PR title and PR description (the first comment) in the GitHub web interface using the 'Edit' button or 'Edit' menu entry there. Note: pushing a new commit to the PR will not automatically update the commit message used by Gerrit.

        For more details, see:

        (In general for Gerrit code reviews, the change author is expected to [log in to Gerrit](https://go-review.googlesource.com/login/) with a Gmail or other Google account and then close out each piece of feedback by marking it as 'Done' if implemented as suggested or otherwise reply to each review comment. See the [Review](https://go.dev/doc/contribute#review) section of the Contributing Guide for details.)

        Quentin Quaadgras

        Done

        Gerrit-Comment-Date: Mon, 29 Sep 2025 01:11:47 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Gopher Robot <go...@golang.org>
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 28, 2025, 9:23:40 PM (3 days ago) Sep 28
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Quentin Quaadgras added 2 comments

        Patchset-level comments
        Jorropo . unresolved

        I think this needs tests.

        I guess there must be tests for the existing non iterator versions, it would make sense to update them to run on both the iterator and slices backed versions.

        Quentin Quaadgras

        There doesn't appear to be any existing tests specifically for comprehensively testing NumField, NumMethod, NumIn or NumOut (there aren't any slice backed versions). Although they are used as part of other tests.

        You may be thinking of VisibleFields which does have tests and is slice backed but this proposal doesn't provide an equivalent for it. Should this CL introduce some tests similar to the VisibleFields tests?

        File-level comment, Patchset 3 (Latest):
        Quentin Quaadgras . unresolved
        One question I had on the implementation, Type.Fields, Type.Ins and Type.Outs are documented to panic when used on incompatible types, currently this panic is due to the underlying call to NumField/NumIn/NumOut, which will raise a panic like "reflect: NumIn of non-func type T", should the iterators raise a panic in their own name?
        ie.

        "reflect: Ins of non-func type T"

        Gerrit-Comment-Date: Mon, 29 Sep 2025 01:23:35 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Jorropo <jorro...@gmail.com>
        unsatisfied_requirement
        open
        diffy

        Jorropo (Gerrit)

        unread,
        Sep 28, 2025, 10:38:25 PM (3 days ago) Sep 28
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements and Sean Liao

        Jorropo added 1 comment

        Patchset-level comments
        Jorropo . unresolved

        I think this needs tests.

        I guess there must be tests for the existing non iterator versions, it would make sense to update them to run on both the iterator and slices backed versions.

        Quentin Quaadgras

        There doesn't appear to be any existing tests specifically for comprehensively testing NumField, NumMethod, NumIn or NumOut (there aren't any slice backed versions). Although they are used as part of other tests.

        You may be thinking of VisibleFields which does have tests and is slice backed but this proposal doesn't provide an equivalent for it. Should this CL introduce some tests similar to the VisibleFields tests?

        Jorropo

        MB I see, a fairer thing for me to ask is for the iterators versions to match .NumXXX & .XXX versions in testing quality.

        I would replace the existing tests that happen to call the manually iterated forms to use yours.
        Yours still happen to call the existing one.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 3
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Mon, 29 Sep 2025 02:38:15 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Jorropo <jorro...@gmail.com>
        Comment-In-Reply-To: Quentin Quaadgras <que...@splizard.com>
        unsatisfied_requirement
        open
        diffy

        Jorropo (Gerrit)

        unread,
        Sep 28, 2025, 10:40:18 PM (3 days ago) Sep 28
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements and Sean Liao

        Jorropo added 1 comment

        Patchset-level comments
        Quentin Quaadgras . unresolved
        One question I had on the implementation, Type.Fields, Type.Ins and Type.Outs are documented to panic when used on incompatible types, currently this panic is due to the underlying call to NumField/NumIn/NumOut, which will raise a panic like "reflect: NumIn of non-func type T", should the iterators raise a panic in their own name?
        ie.

        "reflect: Ins of non-func type T"

        Jorropo

        It's not terrible given panic shows the backtrace, but panicking in their own names is better. It is slightly confusing to show `reflect: NumIn of non-func type T` when the use can't find `NumIn` anywhere in their code.

        Gerrit-Comment-Date: Mon, 29 Sep 2025 02:40:09 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Quentin Quaadgras <que...@splizard.com>
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 28, 2025, 11:01:10 PM (3 days ago) Sep 28
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements and Sean Liao

        Quentin Quaadgras added 1 comment

        Patchset-level comments
        Jorropo . unresolved

        I think this needs tests.

        I guess there must be tests for the existing non iterator versions, it would make sense to update them to run on both the iterator and slices backed versions.

        Quentin Quaadgras

        There doesn't appear to be any existing tests specifically for comprehensively testing NumField, NumMethod, NumIn or NumOut (there aren't any slice backed versions). Although they are used as part of other tests.

        You may be thinking of VisibleFields which does have tests and is slice backed but this proposal doesn't provide an equivalent for it. Should this CL introduce some tests similar to the VisibleFields tests?

        Jorropo

        MB I see, a fairer thing for me to ask is for the iterators versions to match .NumXXX & .XXX versions in testing quality.

        I would replace the existing tests that happen to call the manually iterated forms to use yours.
        Yours still happen to call the existing one.

        Quentin Quaadgras

        I believe there other places in the standard library which use manual iteration, would it be appropriate for this CL to find and replace them?

        Gerrit-Comment-Date: Mon, 29 Sep 2025 03:01:04 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        unsatisfied_requirement
        open
        diffy

        Jorropo (Gerrit)

        unread,
        Sep 28, 2025, 11:14:56 PM (3 days ago) Sep 28
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements and Sean Liao

        Jorropo added 1 comment

        Patchset-level comments
        Jorropo . unresolved

        I think this needs tests.

        I guess there must be tests for the existing non iterator versions, it would make sense to update them to run on both the iterator and slices backed versions.

        Quentin Quaadgras

        There doesn't appear to be any existing tests specifically for comprehensively testing NumField, NumMethod, NumIn or NumOut (there aren't any slice backed versions). Although they are used as part of other tests.

        You may be thinking of VisibleFields which does have tests and is slice backed but this proposal doesn't provide an equivalent for it. Should this CL introduce some tests similar to the VisibleFields tests?

        Jorropo

        MB I see, a fairer thing for me to ask is for the iterators versions to match .NumXXX & .XXX versions in testing quality.

        I would replace the existing tests that happen to call the manually iterated forms to use yours.
        Yours still happen to call the existing one.

        Quentin Quaadgras

        I believe there other places in the standard library which use manual iteration, would it be appropriate for this CL to find and replace them?

        Jorropo

        No, smaller CLs are easier to review and require less coordination.

        This would be a welcome change in future or stacked CLs.

        Gerrit-Comment-Date: Mon, 29 Sep 2025 03:14:47 +0000
        unsatisfied_requirement
        open
        diffy

        Gerrit Bot (Gerrit)

        unread,
        Sep 29, 2025, 12:48:20 AM (3 days ago) Sep 29
        to Quentin Quaadgras, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Gerrit Bot uploaded new patchset

        Gerrit Bot uploaded patch set #4 to this change.
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: newpatchset
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 4
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        unsatisfied_requirement
        open
        diffy

        Alan Donovan (Gerrit)

        unread,
        Sep 29, 2025, 10:31:36 AM (3 days ago) Sep 29
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Alan Donovan added 2 comments

        File src/reflect/type.go
        Line 259, Patchset 4 (Latest): // Fields yields each field of a struct type.
        Alan Donovan . unresolved

        Fields does not yield, it returns an iterator that yields.

        Use the phrasing "Fields returns the sequence of fields of a struct type", etc.

        File src/reflect/value.go
        Line 2628, Patchset 1:// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
        Sean Liao . unresolved

        I don't think the linking syntax is correct.
        check with go doc -htrp

        Quentin Quaadgras

        There are a few cases of this, including in Type, where [Type.Method] is referenced but does not render as a link in pkg.go.dev (this particularly example also affects the existing Type.CanSeq declaration, which refers to [Value] and [Value.Seq]).

        In addition to this, it's not actually possible to render inline links to interface methods or struct fields, which effects "[Type.Method]", as well as "[Method.Type]".

        I think @aus...@google.com may have written the proposal documentation?

        There are a number of limitations and unexpected quirks like this with Go documentation rendered in pkg.do.dev, I opened a related issue on this (https://golang.org/issue/75484) and my workaround there was to fallback to using footer links when things like this didn't render as expected.

        Unfortunately, this workaround doesn't apply to interface method documentation which doesn't render links in the same way as exported methods. Should we be tracking any issues on this?

        Alan Donovan

        Don't (ab)use doc links this way. Either write the expression plainly (e.g. `v.Type().Field(i)`) or use a doc link (e.g. `the order of fields corresponds to that of [Type.Field]`).

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 4
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Alan Donovan <adon...@google.com>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Mon, 29 Sep 2025 14:31:22 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Quentin Quaadgras <que...@splizard.com>
        Comment-In-Reply-To: Sean Liao <se...@liao.dev>
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 29, 2025, 5:03:35 PM (2 days ago) Sep 29
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Alan Donovan, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements and Jorropo

        Quentin Quaadgras added 1 comment

        File src/reflect/value.go
        Line 2628, Patchset 1:// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
        Sean Liao . unresolved

        I don't think the linking syntax is correct.
        check with go doc -htrp

        Quentin Quaadgras

        There are a few cases of this, including in Type, where [Type.Method] is referenced but does not render as a link in pkg.go.dev (this particularly example also affects the existing Type.CanSeq declaration, which refers to [Value] and [Value.Seq]).

        In addition to this, it's not actually possible to render inline links to interface methods or struct fields, which effects "[Type.Method]", as well as "[Method.Type]".

        I think @aus...@google.com may have written the proposal documentation?

        There are a number of limitations and unexpected quirks like this with Go documentation rendered in pkg.do.dev, I opened a related issue on this (https://golang.org/issue/75484) and my workaround there was to fallback to using footer links when things like this didn't render as expected.

        Unfortunately, this workaround doesn't apply to interface method documentation which doesn't render links in the same way as exported methods. Should we be tracking any issues on this?

        Alan Donovan

        Don't (ab)use doc links this way. Either write the expression plainly (e.g. `v.Type().Field(i)`) or use a doc link (e.g. `the order of fields corresponds to that of [Type.Field]`).

        Quentin Quaadgras

        Like I mentioned, since Type is an interface, `[Type.Field]` does not render as a doc link on https://pkg.go.dev.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 4
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Alan Donovan <adon...@google.com>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Mon, 29 Sep 2025 21:03:25 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Quentin Quaadgras <que...@splizard.com>
        Comment-In-Reply-To: Sean Liao <se...@liao.dev>
        Comment-In-Reply-To: Alan Donovan <adon...@google.com>
        unsatisfied_requirement
        open
        diffy

        Alan Donovan (Gerrit)

        unread,
        Sep 29, 2025, 5:08:39 PM (2 days ago) Sep 29
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements and Jorropo

        Alan Donovan added 1 comment

        File src/reflect/value.go
        Line 2628, Patchset 1:// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
        Sean Liao . unresolved

        I don't think the linking syntax is correct.
        check with go doc -htrp

        Quentin Quaadgras

        There are a few cases of this, including in Type, where [Type.Method] is referenced but does not render as a link in pkg.go.dev (this particularly example also affects the existing Type.CanSeq declaration, which refers to [Value] and [Value.Seq]).

        In addition to this, it's not actually possible to render inline links to interface methods or struct fields, which effects "[Type.Method]", as well as "[Method.Type]".

        I think @aus...@google.com may have written the proposal documentation?

        There are a number of limitations and unexpected quirks like this with Go documentation rendered in pkg.do.dev, I opened a related issue on this (https://golang.org/issue/75484) and my workaround there was to fallback to using footer links when things like this didn't render as expected.

        Unfortunately, this workaround doesn't apply to interface method documentation which doesn't render links in the same way as exported methods. Should we be tracking any issues on this?

        Alan Donovan

        Don't (ab)use doc links this way. Either write the expression plainly (e.g. `v.Type().Field(i)`) or use a doc link (e.g. `the order of fields corresponds to that of [Type.Field]`).

        Quentin Quaadgras

        Like I mentioned, since Type is an interface, `[Type.Field]` does not render as a doc link on https://pkg.go.dev.

        Alan Donovan

        Sorry, I misread the remark about comments _on_ fields rather than comments _about_ fields. Yes, you're right that Doc Links don't officially support fields (though as a convenience, gopls's jump-to-definition feature does actually work on fields). So let's omit the link syntax here.

        Gerrit-Comment-Date: Mon, 29 Sep 2025 21:08:35 +0000
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 29, 2025, 5:38:38 PM (2 days ago) Sep 29
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Alan Donovan, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements and Jorropo

        Quentin Quaadgras added 1 comment

        File src/reflect/value.go
        Line 2628, Patchset 1:// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
        Sean Liao . unresolved

        I don't think the linking syntax is correct.
        check with go doc -htrp

        Quentin Quaadgras

        There are a few cases of this, including in Type, where [Type.Method] is referenced but does not render as a link in pkg.go.dev (this particularly example also affects the existing Type.CanSeq declaration, which refers to [Value] and [Value.Seq]).

        In addition to this, it's not actually possible to render inline links to interface methods or struct fields, which effects "[Type.Method]", as well as "[Method.Type]".

        I think @aus...@google.com may have written the proposal documentation?

        There are a number of limitations and unexpected quirks like this with Go documentation rendered in pkg.do.dev, I opened a related issue on this (https://golang.org/issue/75484) and my workaround there was to fallback to using footer links when things like this didn't render as expected.

        Unfortunately, this workaround doesn't apply to interface method documentation which doesn't render links in the same way as exported methods. Should we be tracking any issues on this?

        Alan Donovan

        Don't (ab)use doc links this way. Either write the expression plainly (e.g. `v.Type().Field(i)`) or use a doc link (e.g. `the order of fields corresponds to that of [Type.Field]`).

        Quentin Quaadgras

        Like I mentioned, since Type is an interface, `[Type.Field]` does not render as a doc link on https://pkg.go.dev.

        Alan Donovan

        Sorry, I misread the remark about comments _on_ fields rather than comments _about_ fields. Yes, you're right that Doc Links don't officially support fields (though as a convenience, gopls's jump-to-definition feature does actually work on fields). So let's omit the link syntax here.

        Quentin Quaadgras

        The reflect `[Type.Field]` example makes this more confusing, since it's an interface method, not a field (doc links on https://pkg.go.dev don't support linking to interface methods within the same package either).

        Strangely enough, https://pkg.go.dev/log/slog renders `[io.Writer.Write]` as a link but it doesn't actually take you to the Writer interface.

        Gerrit-Comment-Date: Mon, 29 Sep 2025 21:38:29 +0000
        unsatisfied_requirement
        open
        diffy

        Gerrit Bot (Gerrit)

        unread,
        Sep 29, 2025, 11:33:01 PM (2 days ago) Sep 29
        to Quentin Quaadgras, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Gerrit Bot uploaded new patchset

        Gerrit Bot uploaded patch set #5 to this change.
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: newpatchset
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 5
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Alan Donovan <adon...@google.com>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        unsatisfied_requirement
        open
        diffy

        Quentin Quaadgras (Gerrit)

        unread,
        Sep 29, 2025, 11:47:38 PM (2 days ago) Sep 29
        to Gerrit Bot, goph...@pubsubhelper.golang.org, Alan Donovan, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Alan Donovan, Austin Clements, Jorropo and Sean Liao

        Quentin Quaadgras added 4 comments

        Patchset-level comments

        This will need additions to api/ and doc/.
        CI should fail, check the test logs for the expected additions for api/

        Quentin Quaadgras

        I've added from what I can tell are the expected entries into api/ and doc/

        File-level comment, Patchset 5 (Latest):
        Quentin Quaadgras . unresolved

        I've made adjustments to the method documentation from what was originally specified in the proposal so that the terminology and language is more precise and to avoid incorrect/ambiguous use of doc links.

        I've also replaced plain three-clause for loops with the iterator equivalent within the reflect package (including tests).

        I've added what I understand are the expected entries for API changes and release notes.

        I've also relocated the `reflect.Type` methods declarations to sit next to their existing non-iterator equivalents - both to make these functions more discoverable and because `reflect.Type` is split into two sections, methods that work with any kind of type and kind-specific methods `Methods` has been moved into the former.

        File src/reflect/type.go
        Line 259, Patchset 4: // Fields yields each field of a struct type.
        Alan Donovan . resolved

        Fields does not yield, it returns an iterator that yields.

        Use the phrasing "Fields returns the sequence of fields of a struct type", etc.

        Quentin Quaadgras

        Marked as resolved.

        File src/reflect/value.go
        Line 2628, Patchset 1:// The i'th field yielded by Fields is the same as [Type.Field(i)] and [Value.Field(i)].
        Sean Liao . resolved

        I don't think the linking syntax is correct.
        check with go doc -htrp

        Quentin Quaadgras

        There are a few cases of this, including in Type, where [Type.Method] is referenced but does not render as a link in pkg.go.dev (this particularly example also affects the existing Type.CanSeq declaration, which refers to [Value] and [Value.Seq]).

        In addition to this, it's not actually possible to render inline links to interface methods or struct fields, which effects "[Type.Method]", as well as "[Method.Type]".

        I think @aus...@google.com may have written the proposal documentation?

        There are a number of limitations and unexpected quirks like this with Go documentation rendered in pkg.do.dev, I opened a related issue on this (https://golang.org/issue/75484) and my workaround there was to fallback to using footer links when things like this didn't render as expected.

        Unfortunately, this workaround doesn't apply to interface method documentation which doesn't render links in the same way as exported methods. Should we be tracking any issues on this?

        Alan Donovan

        Don't (ab)use doc links this way. Either write the expression plainly (e.g. `v.Type().Field(i)`) or use a doc link (e.g. `the order of fields corresponds to that of [Type.Field]`).

        Quentin Quaadgras

        Like I mentioned, since Type is an interface, `[Type.Field]` does not render as a doc link on https://pkg.go.dev.

        Alan Donovan

        Sorry, I misread the remark about comments _on_ fields rather than comments _about_ fields. Yes, you're right that Doc Links don't officially support fields (though as a convenience, gopls's jump-to-definition feature does actually work on fields). So let's omit the link syntax here.

        Quentin Quaadgras

        The reflect `[Type.Field]` example makes this more confusing, since it's an interface method, not a field (doc links on https://pkg.go.dev don't support linking to interface methods within the same package either).

        Strangely enough, https://pkg.go.dev/log/slog renders `[io.Writer.Write]` as a link but it doesn't actually take you to the Writer interface.

        Quentin Quaadgras

        Marked as resolved.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Alan Donovan
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 5
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Alan Donovan <adon...@google.com>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Attention: Alan Donovan <adon...@google.com>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Tue, 30 Sep 2025 03:47:29 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Sean Liao <se...@liao.dev>
        Comment-In-Reply-To: Quentin Quaadgras <que...@splizard.com>
        Comment-In-Reply-To: Alan Donovan <adon...@google.com>
        unsatisfied_requirement
        open
        diffy

        Alan Donovan (Gerrit)

        unread,
        Sep 30, 2025, 9:33:37 AM (2 days ago) Sep 30
        to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Jorropo and Sean Liao

        Alan Donovan voted and added 1 comment

        Votes added by Alan Donovan

        Code-Review+2

        1 comment

        File src/reflect/value.go
        Line 2648, Patchset 5 (Latest):// The arguments to a Call on the yielded function value should not include a receiver;
        Alan Donovan . unresolved

        This "yielded" terminology is slightly awkward: the yield function is a rather low-level detail of the process, whereas the abstraction is a sequence of elements. Let's frame it in those terms, something like:

        ```
        // Methods returns a sequence of elements, one per method of v, each
        // pairing the the method's description (as a [Method]) with its value
        // (as a func [Value]).
        // ...
        // In a [Call] to the method value, the arguments should not include the
        // receiver as the method value implicitly binds v as the receiver.
        // (See https://go.dev/ref/spec#Method_values.)
        // By contrast the [Method.Type] of each [Method] element does include
        // the receiver, and thus differs from [Value.Type].
        ```

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Jorropo
        • Sean Liao
        Submit Requirements:
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
        Gerrit-Change-Number: 707356
        Gerrit-PatchSet: 5
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Alan Donovan <adon...@google.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
        Gerrit-Reviewer: Sean Liao <se...@liao.dev>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
        Gerrit-Attention: Jorropo <jorro...@gmail.com>
        Gerrit-Attention: Sean Liao <se...@liao.dev>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Tue, 30 Sep 2025 13:33:33 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Gerrit Bot (Gerrit)

        unread,
        Oct 1, 2025, 12:04:33 AM (yesterday) Oct 1
        to Quentin Quaadgras, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
        Attention needed from Alan Donovan, Austin Clements, Jorropo and Sean Liao

        Gerrit Bot uploaded new patchset

        Gerrit Bot uploaded patch set #6 to this change.
        Following approvals got outdated and were removed:
        • Code-Review: +2 by Alan Donovan
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Alan Donovan
        • Austin Clements
        • Jorropo
        • Sean Liao
          Submit Requirements:
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          • requirement is not satisfiedTryBots-Pass
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: newpatchset
          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
          Gerrit-Change-Number: 707356
          Gerrit-PatchSet: 6
          Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
          Gerrit-Reviewer: Alan Donovan <adon...@google.com>
          Gerrit-Reviewer: Austin Clements <aus...@google.com>
          Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
          Gerrit-Reviewer: Sean Liao <se...@liao.dev>
          Gerrit-CC: Gopher Robot <go...@golang.org>
          Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
          Gerrit-Attention: Jorropo <jorro...@gmail.com>
          Gerrit-Attention: Sean Liao <se...@liao.dev>
          unsatisfied_requirement
          open
          diffy

          Quentin Quaadgras (Gerrit)

          unread,
          Oct 1, 2025, 2:03:55 AM (yesterday) Oct 1
          to Gerrit Bot, goph...@pubsubhelper.golang.org, Alan Donovan, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
          Attention needed from Alan Donovan, Austin Clements, Jorropo and Sean Liao

          Quentin Quaadgras added 2 comments

          Patchset-level comments

          I think this needs tests.

          I guess there must be tests for the existing non iterator versions, it would make sense to update them to run on both the iterator and slices backed versions.

          Quentin Quaadgras

          There doesn't appear to be any existing tests specifically for comprehensively testing NumField, NumMethod, NumIn or NumOut (there aren't any slice backed versions). Although they are used as part of other tests.

          You may be thinking of VisibleFields which does have tests and is slice backed but this proposal doesn't provide an equivalent for it. Should this CL introduce some tests similar to the VisibleFields tests?

          Jorropo

          MB I see, a fairer thing for me to ask is for the iterators versions to match .NumXXX & .XXX versions in testing quality.

          I would replace the existing tests that happen to call the manually iterated forms to use yours.
          Yours still happen to call the existing one.

          Quentin Quaadgras

          I believe there other places in the standard library which use manual iteration, would it be appropriate for this CL to find and replace them?

          Jorropo

          No, smaller CLs are easier to review and require less coordination.

          This would be a welcome change in future or stacked CLs.

          Quentin Quaadgras

          Done

          File src/reflect/value.go
          Line 2648, Patchset 5:// The arguments to a Call on the yielded function value should not include a receiver;
          Alan Donovan . unresolved

          This "yielded" terminology is slightly awkward: the yield function is a rather low-level detail of the process, whereas the abstraction is a sequence of elements. Let's frame it in those terms, something like:

          ```
          // Methods returns a sequence of elements, one per method of v, each
          // pairing the the method's description (as a [Method]) with its value
          // (as a func [Value]).
          // ...
          // In a [Call] to the method value, the arguments should not include the
          // receiver as the method value implicitly binds v as the receiver.
          // (See https://go.dev/ref/spec#Method_values.)
          // By contrast the [Method.Type] of each [Method] element does include
          // the receiver, and thus differs from [Value.Type].
          ```

          Quentin Quaadgras

          Agree that it's a bit wordy, I've removed the term 'yielded' from the documentation, note that this word has been used in the standard library for a couple of functions that return an `iter.Seq`, I didn't find any public API function using the "returns a sequence of", so I've opted to keep "returns an iterator over" which is consistent with functions in the slices, iter and maps packages.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Alan Donovan
          • Austin Clements
          • Jorropo
          • Sean Liao
          Submit Requirements:
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          • requirement is not satisfiedTryBots-Pass
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
          Gerrit-Change-Number: 707356
          Gerrit-PatchSet: 6
          Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
          Gerrit-Reviewer: Alan Donovan <adon...@google.com>
          Gerrit-Reviewer: Austin Clements <aus...@google.com>
          Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
          Gerrit-Reviewer: Sean Liao <se...@liao.dev>
          Gerrit-CC: Gopher Robot <go...@golang.org>
          Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
          Gerrit-Attention: Jorropo <jorro...@gmail.com>
          Gerrit-Attention: Sean Liao <se...@liao.dev>
          Gerrit-Attention: Alan Donovan <adon...@google.com>
          Gerrit-Attention: Austin Clements <aus...@google.com>
          Gerrit-Comment-Date: Wed, 01 Oct 2025 06:03:46 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Jorropo <jorro...@gmail.com>
          unsatisfied_requirement
          open
          diffy

          Alan Donovan (Gerrit)

          unread,
          Oct 1, 2025, 9:50:05 AM (19 hours ago) Oct 1
          to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
          Attention needed from Austin Clements, Jorropo and Sean Liao

          Alan Donovan voted and added 1 comment

          Votes added by Alan Donovan

          Code-Review+2

          1 comment

          File src/reflect/value.go
          Line 2642, Patchset 6 (Latest):// method [Value], this is a function with v bound as the receiver. As such, the
          Alan Donovan . unresolved

          run-on sentence

          Use a semicolon, or the appositive (strike "this is ").

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Austin Clements
          • Jorropo
          • Sean Liao
          Submit Requirements:
          • requirement satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          • requirement is not satisfiedTryBots-Pass
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
          Gerrit-Change-Number: 707356
          Gerrit-PatchSet: 6
          Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
          Gerrit-Reviewer: Alan Donovan <adon...@google.com>
          Gerrit-Reviewer: Austin Clements <aus...@google.com>
          Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
          Gerrit-Reviewer: Sean Liao <se...@liao.dev>
          Gerrit-CC: Gopher Robot <go...@golang.org>
          Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
          Gerrit-Attention: Jorropo <jorro...@gmail.com>
          Gerrit-Attention: Sean Liao <se...@liao.dev>
          Gerrit-Attention: Austin Clements <aus...@google.com>
          Gerrit-Comment-Date: Wed, 01 Oct 2025 13:50:01 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Alan Donovan (Gerrit)

          unread,
          Oct 1, 2025, 10:07:08 AM (18 hours ago) Oct 1
          to Quentin Quaadgras, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Go LUCI, Jorropo, Gopher Robot, golang-co...@googlegroups.com
          Attention needed from Austin Clements, Jorropo, Quentin Quaadgras and Sean Liao

          Alan Donovan added 1 comment

          File src/reflect/value.go
          Line 2648, Patchset 5:// The arguments to a Call on the yielded function value should not include a receiver;
          Alan Donovan . resolved

          This "yielded" terminology is slightly awkward: the yield function is a rather low-level detail of the process, whereas the abstraction is a sequence of elements. Let's frame it in those terms, something like:

          ```
          // Methods returns a sequence of elements, one per method of v, each
          // pairing the the method's description (as a [Method]) with its value
          // (as a func [Value]).
          // ...
          // In a [Call] to the method value, the arguments should not include the
          // receiver as the method value implicitly binds v as the receiver.
          // (See https://go.dev/ref/spec#Method_values.)
          // By contrast the [Method.Type] of each [Method] element does include
          // the receiver, and thus differs from [Value.Type].
          ```

          Quentin Quaadgras

          Agree that it's a bit wordy, I've removed the term 'yielded' from the documentation, note that this word has been used in the standard library for a couple of functions that return an `iter.Seq`, I didn't find any public API function using the "returns a sequence of", so I've opted to keep "returns an iterator over" which is consistent with functions in the slices, iter and maps packages.

          Alan Donovan

          This looks good; thanks.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Austin Clements
          • Jorropo
          • Quentin Quaadgras
          • Sean Liao
          Submit Requirements:
          • requirement satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          • requirement is not satisfiedTryBots-Pass
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
          Gerrit-Change-Number: 707356
          Gerrit-PatchSet: 6
          Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
          Gerrit-Reviewer: Alan Donovan <adon...@google.com>
          Gerrit-Reviewer: Austin Clements <aus...@google.com>
          Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
          Gerrit-Reviewer: Sean Liao <se...@liao.dev>
          Gerrit-CC: Gopher Robot <go...@golang.org>
          Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
          Gerrit-Attention: Jorropo <jorro...@gmail.com>
          Gerrit-Attention: Quentin Quaadgras <que...@splizard.com>
          Gerrit-Attention: Sean Liao <se...@liao.dev>
          Gerrit-Attention: Austin Clements <aus...@google.com>
          Gerrit-Comment-Date: Wed, 01 Oct 2025 14:07:04 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Gerrit Bot (Gerrit)

          unread,
          12:30 AM (4 hours ago) 12:30 AM
          to Quentin Quaadgras, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
          Attention needed from Alan Donovan, Austin Clements, Jorropo, Quentin Quaadgras and Sean Liao

          Gerrit Bot uploaded new patchset

          Gerrit Bot uploaded patch set #7 to this change.
          Following approvals got outdated and were removed:
          • Code-Review: +2 by Alan Donovan
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Alan Donovan
          • Austin Clements
          • Jorropo
          • Quentin Quaadgras
          • Sean Liao
            Submit Requirements:
            • requirement is not satisfiedCode-Review
            • requirement is not satisfiedNo-Unresolved-Comments
            • requirement is not satisfiedReview-Enforcement
            • requirement is not satisfiedTryBots-Pass
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: newpatchset
            Gerrit-Project: go
            Gerrit-Branch: master
            Gerrit-Change-Id: Iab346e52c0eadd7817afae96d9ef73a35db65fd2
            Gerrit-Change-Number: 707356
            Gerrit-PatchSet: 7
            Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
            Gerrit-Reviewer: Alan Donovan <adon...@google.com>
            Gerrit-Reviewer: Austin Clements <aus...@google.com>
            Gerrit-Reviewer: Jorropo <jorro...@gmail.com>
            Gerrit-Reviewer: Sean Liao <se...@liao.dev>
            Gerrit-CC: Gopher Robot <go...@golang.org>
            Gerrit-CC: Quentin Quaadgras <que...@splizard.com>
            Gerrit-Attention: Jorropo <jorro...@gmail.com>
            Gerrit-Attention: Quentin Quaadgras <que...@splizard.com>
            Gerrit-Attention: Sean Liao <se...@liao.dev>
            unsatisfied_requirement
            open
            diffy
            Reply all
            Reply to author
            Forward
            0 new messages