[tools] x/tools: remove unused parameters

1 view
Skip to first unread message

Alan Donovan (Gerrit)

unread,
Nov 6, 2025, 9:51:41 AM (5 days ago) Nov 6
to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

Alan Donovan has uploaded the change for review

Commit message

x/tools: remove unused parameters

(As found by gopls/internal/analysis/unusedparam.)
Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c

Change diff

diff --git a/cmd/gonew/main.go b/cmd/gonew/main.go
index 920d56a..2b85703 100644
--- a/cmd/gonew/main.go
+++ b/cmd/gonew/main.go
@@ -150,7 +150,7 @@
data = fixGo(data, rel, srcMod, dstMod, isRoot)
}
if rel == "go.mod" {
- data = fixGoMod(data, srcMod, dstMod)
+ data = fixGoMod(data, dstMod)
}

if err := os.WriteFile(dst, data, 0666); err != nil {
@@ -217,9 +217,9 @@
return buf.Bytes()
}

-// fixGoMod rewrites the go.mod content in data to replace srcMod with dstMod
-// in the module path.
-func fixGoMod(data []byte, srcMod, dstMod string) []byte {
+// fixGoMod rewrites the go.mod content in data to add a module
+// statement for dstMod.
+func fixGoMod(data []byte, dstMod string) []byte {
f, err := modfile.ParseLax("go.mod", data, nil)
if err != nil {
log.Fatalf("parsing source module:\n%s", err)
diff --git a/cmd/present2md/main.go b/cmd/present2md/main.go
index 4a298b7..0c4d0ea 100644
--- a/cmd/present2md/main.go
+++ b/cmd/present2md/main.go
@@ -128,7 +128,8 @@
fmt.Fprintf(&md, "Summary:")
for i, line := range text.Lines {
fmt.Fprintf(&md, " ")
- printStyled(&md, line, i == 0)
+ var _ bool = i == 0
+ printStyled(&md, line)
}
fmt.Fprintf(&md, "\n")
break
@@ -145,10 +146,10 @@
log.Fatalf("%s: unexpected author type %T", file, elem)
case present.Text:
for _, line := range elem.Lines {
- fmt.Fprintf(&md, "%s\n", markdownEscape(line, true))
+ fmt.Fprintf(&md, "%s\n", markdownEscape(line))
}
case present.Link:
- fmt.Fprintf(&md, "%s\n", markdownEscape(elem.Label, true))
+ fmt.Fprintf(&md, "%s\n", markdownEscape(elem.Label))
}
}
}
@@ -174,7 +175,7 @@
} else {
for _, s := range doc.Sections {
fmt.Fprintf(&md, "\n")
- fmt.Fprintf(&md, "## %s\n", markdownEscape(s.Title, false))
+ fmt.Fprintf(&md, "## %s\n", markdownEscape(s.Title))
printSectionBody(file, 1, &md, s.Elem)
}
}
@@ -209,7 +210,7 @@
}
} else {
for _, line := range elem.Lines {
- printStyled(w, line, true)
+ printStyled(w, line)
fmt.Fprintf(w, "\n")
}
}
@@ -222,7 +223,7 @@
if i > 0 {
fmt.Fprintf(w, " ")
}
- printStyled(w, line, false)
+ printStyled(w, line)
fmt.Fprintf(w, "\n")
}
}
@@ -233,7 +234,7 @@
if elem.Title == "" {
sep = ""
}
- fmt.Fprintf(w, "%s%s%s\n", strings.Repeat("#", depth+2), sep, markdownEscape(elem.Title, false))
+ fmt.Fprintf(w, "%s%s%s\n", strings.Repeat("#", depth+2), sep, markdownEscape(elem.Title))
printSectionBody(file, depth+1, w, elem.Elem)

case interface{ PresentCmd() string }:
@@ -251,7 +252,7 @@
}
}

-func markdownEscape(s string, startLine bool) string {
+func markdownEscape(s string) string {
var b strings.Builder
for i, r := range s {
switch {
@@ -282,20 +283,20 @@
<i>this is italic</i>!
*/

-func printStyled(w *bytes.Buffer, text string, startLine bool) {
- w.WriteString(font(text, startLine))
+func printStyled(w *bytes.Buffer, text string) {
+ w.WriteString(font(text))
}

// font returns s with font indicators turned into HTML font tags.
-func font(s string, startLine bool) string {
+func font(s string) string {
if !strings.ContainsAny(s, "[`_*") {
- return markdownEscape(s, startLine)
+ return markdownEscape(s)
}
words := split(s)
var b bytes.Buffer
Word:
for w, word := range words {
- words[w] = markdownEscape(word, startLine && w == 0) // for all the continue Word
+ words[w] = markdownEscape(word) // for all the continue Word
if len(word) < 2 {
continue Word
}
@@ -316,7 +317,7 @@
continue Word
}
}
- open, word := markdownEscape(word[:first], startLine && w == 0), word[first:]
+ open, word := markdownEscape(word[:first]), word[first:]
char := word[0] // ASCII is OK.
close := ""
switch char {
@@ -371,7 +372,7 @@
close += "`"
}
} else {
- text = markdownEscape(text, false)
+ text = markdownEscape(text)
}
words[w] = open + text + close + tail
}
@@ -463,9 +464,9 @@
}

func renderLink(href, text string) string {
- text = font(text, false)
+ text = font(text)
if text == "" {
- text = markdownEscape(href, false)
+ text = markdownEscape(href)
}
return "[" + text + "](" + href + ")"
}
diff --git a/go/analysis/passes/stdmethods/stdmethods.go b/go/analysis/passes/stdmethods/stdmethods.go
index ca303ae..c0ca2af 100644
--- a/go/analysis/passes/stdmethods/stdmethods.go
+++ b/go/analysis/passes/stdmethods/stdmethods.go
@@ -131,12 +131,12 @@
}

// Do the =s (if any) all match?
- if !matchParams(pass, expect.args, args, "=") || !matchParams(pass, expect.results, results, "=") {
+ if !matchParams(expect.args, args, "=") || !matchParams(expect.results, results, "=") {
return
}

// Everything must match.
- if !matchParams(pass, expect.args, args, "") || !matchParams(pass, expect.results, results, "") {
+ if !matchParams(expect.args, args, "") || !matchParams(expect.results, results, "") {
expectFmt := id.Name + "(" + argjoin(expect.args) + ")"
if len(expect.results) == 1 {
expectFmt += " " + argjoin(expect.results)
@@ -168,7 +168,7 @@
}

// Does each type in expect with the given prefix match the corresponding type in actual?
-func matchParams(pass *analysis.Pass, expect []string, actual *types.Tuple, prefix string) bool {
+func matchParams(expect []string, actual *types.Tuple, prefix string) bool {
for i, x := range expect {
if !strings.HasPrefix(x, prefix) {
continue
diff --git a/go/ssa/builder.go b/go/ssa/builder.go
index af5ae70..162f3ec 100644
--- a/go/ssa/builder.go
+++ b/go/ssa/builder.go
@@ -2344,7 +2344,7 @@
// for x := range f { ... }
// into
// f(func(x T) bool { ... })
- b.rangeFunc(fn, x, tk, tv, s, label)
+ b.rangeFunc(fn, x, s, label)
return

default:
@@ -2390,7 +2390,7 @@
// rangeFunc emits to fn code for the range-over-func rng.Body of the iterator
// function x, optionally labelled by label. It creates a new anonymous function
// yield for rng and builds the function.
-func (b *builder) rangeFunc(fn *Function, x Value, tk, tv types.Type, rng *ast.RangeStmt, label *lblock) {
+func (b *builder) rangeFunc(fn *Function, x Value, rng *ast.RangeStmt, label *lblock) {
// Consider the SSA code for the outermost range-over-func in fn:
//
// func fn(...) (ret R) {
diff --git a/go/ssa/instantiate.go b/go/ssa/instantiate.go
index 20a0986..5862440 100644
--- a/go/ssa/instantiate.go
+++ b/go/ssa/instantiate.go
@@ -83,7 +83,7 @@
if prog.mode&InstantiateGenerics != 0 && !prog.isParameterized(targs...) {
synthetic = fmt.Sprintf("instance of %s", fn.Name())
if fn.syntax != nil {
- subst = makeSubster(prog.ctxt, obj, fn.typeparams, targs, false)
+ subst = makeSubster(prog.ctxt, obj, fn.typeparams, targs)
build = (*builder).buildFromSyntax
} else {
build = (*builder).buildParamsOnly
diff --git a/go/ssa/interp/interp.go b/go/ssa/interp/interp.go
index 7bd0612..1fd61a7 100644
--- a/go/ssa/interp/interp.go
+++ b/go/ssa/interp/interp.go
@@ -319,7 +319,7 @@
fr.env[instr] = makeMap(instr.Type().Underlying().(*types.Map).Key(), reserve)

case *ssa.Range:
- fr.env[instr] = rangeIter(fr.get(instr.X), instr.X.Type())
+ fr.env[instr] = rangeIter(fr.get(instr.X))

case *ssa.Next:
fr.env[instr] = fr.get(instr.Iter).(iter).next()
@@ -372,7 +372,7 @@
}

case *ssa.TypeAssert:
- fr.env[instr] = typeAssert(fr.i, instr, fr.get(instr.X).(iface))
+ fr.env[instr] = typeAssert(instr, fr.get(instr.X).(iface))

case *ssa.MakeClosure:
var bindings []value
@@ -479,7 +479,7 @@
case *closure:
return callSSA(i, caller, callpos, fn.Fn, args, fn.Env)
case *ssa.Builtin:
- return callBuiltin(caller, callpos, fn, args)
+ return callBuiltin(caller, fn, args)
}
panic(fmt.Sprintf("cannot call %T", fn))
}
diff --git a/go/ssa/interp/ops.go b/go/ssa/interp/ops.go
index d03aeac..021e700 100644
--- a/go/ssa/interp/ops.go
+++ b/go/ssa/interp/ops.go
@@ -918,7 +918,7 @@
// typeAssert checks whether dynamic type of itf is instr.AssertedType.
// It returns the extracted value on success, and panics on failure,
// unless instr.CommaOk, in which case it always returns a "value,ok" tuple.
-func typeAssert(i *interpreter, instr *ssa.TypeAssert, itf iface) value {
+func typeAssert(instr *ssa.TypeAssert, itf iface) value {
var v value
err := ""
if itf.t == nil {
@@ -926,7 +926,7 @@

} else if idst, ok := instr.AssertedType.Underlying().(*types.Interface); ok {
v = itf
- err = checkInterface(i, idst, itf)
+ err = checkInterface(idst, itf)

} else if types.Identical(itf.t, instr.AssertedType) {
v = itf.v // extract value
@@ -954,7 +954,7 @@

// callBuiltin interprets a call to builtin fn with arguments args,
// returning its result.
-func callBuiltin(caller *frame, callpos token.Pos, fn *ssa.Builtin, args []value) value {
+func callBuiltin(caller *frame, fn *ssa.Builtin, args []value) value {
switch fn.Name() {
case "append":
if len(args) == 1 {
@@ -1103,7 +1103,7 @@
panic("unknown built-in: " + fn.Name())
}

-func rangeIter(x value, t types.Type) iter {
+func rangeIter(x value) iter {
switch x := x.(type) {
case map[value]value:
return &mapIter{iter: reflect.ValueOf(x).MapRange()}
@@ -1407,7 +1407,7 @@
// checkInterface checks that the method set of x implements the
// interface itype.
// On success it returns "", on failure, an error message.
-func checkInterface(i *interpreter, itype *types.Interface, x iface) string {
+func checkInterface(itype *types.Interface, x iface) string {
if meth, _ := types.MissingMethod(x.t, itype, true); meth != nil {
return fmt.Sprintf("interface conversion: %v is not %v: missing method %s",
x.t, itype, meth.Name())
diff --git a/go/ssa/interp/reflect.go b/go/ssa/interp/reflect.go
index 22f8cde..da9938e 100644
--- a/go/ssa/interp/reflect.go
+++ b/go/ssa/interp/reflect.go
@@ -437,7 +437,7 @@

func ext۰reflect۰Value۰Interface(fr *frame, args []value) value {
// Signature: func (v reflect.Value) interface{}
- return ext۰reflect۰valueInterface(fr, args)
+ return ext۰reflect۰valueInterface(args)
}

func ext۰reflect۰Value۰Int(fr *frame, args []value) value {
@@ -494,7 +494,7 @@
return nil
}

-func ext۰reflect۰valueInterface(fr *frame, args []value) value {
+func ext۰reflect۰valueInterface(args []value) value {
// Signature: func (v reflect.Value, safe bool) interface{}
v := args[0].(structure)
return iface{rV2T(v).t, rV2V(v)}
diff --git a/go/ssa/subst.go b/go/ssa/subst.go
index 2c465ec..a4b1026 100644
--- a/go/ssa/subst.go
+++ b/go/ssa/subst.go
@@ -59,7 +59,7 @@
// Returns a subster that replaces tparams[i] with targs[i]. Uses ctxt as a cache.
// targs should not contain any types in tparams.
// fn is the generic function for which we are substituting.
-func makeSubster(ctxt *types.Context, fn *types.Func, tparams *types.TypeParamList, targs []types.Type, debug bool) *subster {
+func makeSubster(ctxt *types.Context, fn *types.Func, tparams *types.TypeParamList, targs []types.Type) *subster {
assert(tparams.Len() == len(targs), "makeSubster argument count must match")

subst := &subster{
diff --git a/go/ssa/subst_test.go b/go/ssa/subst_test.go
index 3c126fa..55051ba 100644
--- a/go/ssa/subst_test.go
+++ b/go/ssa/subst_test.go
@@ -103,7 +103,7 @@

T := tv.Type.(*types.Named)

- subst := makeSubster(types.NewContext(), within, T.TypeParams(), targs, true)
+ subst := makeSubster(types.NewContext(), within, T.TypeParams(), targs)
sub := subst.typ(T.Underlying())
if got := sub.String(); got != test.want {
t.Errorf("subst{%v->%v}.typ(%s) = %v, want %v", test.expr, test.args, T.Underlying(), got, test.want)
diff --git a/gopls/internal/util/typesutil/typesutil.go b/gopls/internal/util/typesutil/typesutil.go
index d28a3dd..b6046dc 100644
--- a/gopls/internal/util/typesutil/typesutil.go
+++ b/gopls/internal/util/typesutil/typesutil.go
@@ -45,7 +45,6 @@
// the hole that must be filled by EXPR has type (string, int).
//
// It returns nil on failure.
-
func TypesFromContext(info *types.Info, cur inspector.Cursor) []types.Type {
anyType := types.Universe.Lookup("any").Type()
var typs []types.Type
diff --git a/internal/gcimporter/bimport.go b/internal/gcimporter/bimport.go
index 734c461..555ef62 100644
--- a/internal/gcimporter/bimport.go
+++ b/internal/gcimporter/bimport.go
@@ -34,7 +34,7 @@
const maxlines = 64 * 1024

func (s *fakeFileSet) pos(file string, line, column int) token.Pos {
- // TODO(mdempsky): Make use of column.
+ _ = column // TODO(mdempsky): Make use of column.

// Since we don't know the set of needed file positions, we reserve maxlines
// positions per file. We delay calling token.File.SetLines until all
diff --git a/internal/jsonrpc2/jsonrpc2_test.go b/internal/jsonrpc2/jsonrpc2_test.go
index 49cdcd4..a9acf6c 100644
--- a/internal/jsonrpc2/jsonrpc2_test.go
+++ b/internal/jsonrpc2/jsonrpc2_test.go
@@ -70,7 +70,7 @@
}
t.Run(name, func(t *testing.T) {
ctx := eventtest.NewContext(ctx, t)
- a, b, done := prepare(ctx, t, headers)
+ a, b, done := prepare(ctx, headers)
defer done()
for _, test := range callTests {
t.Run(test.method, func(t *testing.T) {
@@ -90,7 +90,7 @@
}
}

-func prepare(ctx context.Context, t *testing.T, withHeaders bool) (jsonrpc2.Conn, jsonrpc2.Conn, func()) {
+func prepare(ctx context.Context, withHeaders bool) (jsonrpc2.Conn, jsonrpc2.Conn, func()) {
// make a wait group that can be used to wait for the system to shut down
aPipe, bPipe := net.Pipe()
a := run(ctx, withHeaders, aPipe)
@@ -111,11 +111,11 @@
stream = jsonrpc2.NewRawStream(nc)
}
conn := jsonrpc2.NewConn(stream)
- conn.Go(ctx, testHandler(*logRPC))
+ conn.Go(ctx, testHandler())
return conn
}

-func testHandler(log bool) jsonrpc2.Handler {
+func testHandler() jsonrpc2.Handler {
return func(ctx context.Context, reply jsonrpc2.Replier, req jsonrpc2.Request) error {
switch req.Method() {
case "no_args":
diff --git a/internal/mcp/client_list_test.go b/internal/mcp/client_list_test.go
index 1d40ae4..c1ca56a 100644
--- a/internal/mcp/client_list_test.go
+++ b/internal/mcp/client_list_test.go
@@ -38,7 +38,7 @@
}
})
t.Run("iterator", func(t *testing.T) {
- testIterator(ctx, t, clientSession.Tools(ctx, nil), wantTools)
+ testIterator(t, clientSession.Tools(ctx, nil), wantTools)
})
})

@@ -59,7 +59,7 @@
}
})
t.Run("iterator", func(t *testing.T) {
- testIterator(ctx, t, clientSession.Resources(ctx, nil), wantResources)
+ testIterator(t, clientSession.Resources(ctx, nil), wantResources)
})
})

@@ -83,7 +83,7 @@
}
})
t.Run("ResourceTemplatesIterator", func(t *testing.T) {
- testIterator(ctx, t, clientSession.ResourceTemplates(ctx, nil), wantResourceTemplates)
+ testIterator(t, clientSession.ResourceTemplates(ctx, nil), wantResourceTemplates)
})
})

@@ -104,12 +104,12 @@
}
})
t.Run("iterator", func(t *testing.T) {
- testIterator(ctx, t, clientSession.Prompts(ctx, nil), wantPrompts)
+ testIterator(t, clientSession.Prompts(ctx, nil), wantPrompts)
})
})
}

-func testIterator[T any](ctx context.Context, t *testing.T, seq iter.Seq2[*T, error], want []*T) {
+func testIterator[T any](t *testing.T, seq iter.Seq2[*T, error], want []*T) {
t.Helper()
var got []*T
for x, err := range seq {

Change information

Files:
  • M cmd/gonew/main.go
  • M cmd/present2md/main.go
  • M go/analysis/passes/stdmethods/stdmethods.go
  • M go/ssa/builder.go
  • M go/ssa/instantiate.go
  • M go/ssa/interp/interp.go
  • M go/ssa/interp/ops.go
  • M go/ssa/interp/reflect.go
  • M go/ssa/subst.go
  • M go/ssa/subst_test.go
  • M gopls/internal/util/typesutil/typesutil.go
  • M internal/gcimporter/bimport.go
  • M internal/jsonrpc2/jsonrpc2_test.go
  • M internal/mcp/client_list_test.go
Change size: M
Delta: 14 files changed, 50 insertions(+), 50 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: tools
Gerrit-Branch: master
Gerrit-Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c
Gerrit-Change-Number: 718500
Gerrit-PatchSet: 1
Gerrit-Owner: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Alan Donovan <adon...@google.com>
unsatisfied_requirement
satisfied_requirement
open
diffy

Alan Donovan (Gerrit)

unread,
Nov 6, 2025, 9:51:58 AM (5 days ago) Nov 6
to goph...@pubsubhelper.golang.org, Robert Findley, Go LUCI, golang-co...@googlegroups.com
Attention needed from Robert Findley

Alan Donovan voted Auto-Submit+1

Auto-Submit+1
Open in Gerrit

Related details

Attention is currently required from:
  • Robert Findley
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: comment
Gerrit-Project: tools
Gerrit-Branch: master
Gerrit-Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c
Gerrit-Change-Number: 718500
Gerrit-PatchSet: 1
Gerrit-Owner: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Robert Findley <rfin...@google.com>
Gerrit-Attention: Robert Findley <rfin...@google.com>
Gerrit-Comment-Date: Thu, 06 Nov 2025 14:51:53 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
unsatisfied_requirement
satisfied_requirement
open
diffy

Robert Findley (Gerrit)

unread,
Nov 6, 2025, 9:53:05 AM (5 days ago) Nov 6
to Alan Donovan, goph...@pubsubhelper.golang.org, Go LUCI, golang-co...@googlegroups.com
Attention needed from Alan Donovan

Robert Findley voted Code-Review+2

Code-Review+2
Open in Gerrit

Related details

Attention is currently required from:
  • Alan Donovan
Submit Requirements:
  • requirement satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement 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: tools
Gerrit-Branch: master
Gerrit-Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c
Gerrit-Change-Number: 718500
Gerrit-PatchSet: 1
Gerrit-Owner: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Robert Findley <rfin...@google.com>
Gerrit-Attention: Alan Donovan <adon...@google.com>
Gerrit-Comment-Date: Thu, 06 Nov 2025 14:53:00 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Alan Donovan (Gerrit)

unread,
Nov 6, 2025, 9:53:25 AM (5 days ago) Nov 6
to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
Attention needed from Alan Donovan

Alan Donovan uploaded new patchset

Alan Donovan uploaded patch set #2 to this change.
Open in Gerrit

Related details

Attention is currently required from:
  • Alan Donovan
Submit Requirements:
  • requirement satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement 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: tools
Gerrit-Branch: master
Gerrit-Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c
Gerrit-Change-Number: 718500
Gerrit-PatchSet: 2
satisfied_requirement
unsatisfied_requirement
open
diffy

Alan Donovan (Gerrit)

unread,
Nov 6, 2025, 10:18:05 AM (5 days ago) Nov 6
to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
Attention needed from Alan Donovan

Alan Donovan uploaded new patchset

Alan Donovan uploaded patch set #3 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:
  • Alan Donovan
Submit Requirements:
  • requirement satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement 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: tools
Gerrit-Branch: master
Gerrit-Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c
Gerrit-Change-Number: 718500
Gerrit-PatchSet: 3
Gerrit-Owner: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Robert Findley <rfin...@google.com>
Gerrit-Attention: Alan Donovan <adon...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Alan Donovan (Gerrit)

unread,
Nov 6, 2025, 10:39:23 AM (4 days ago) Nov 6
to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Go LUCI, Robert Findley, golang-co...@googlegroups.com

Alan Donovan submitted the change with unreviewed changes

Unreviewed changes

1 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:

```
The name of the file: cmd/present2md/main.go
Insertions: 1, Deletions: 2.

@@ -126,9 +126,8 @@
continue
}
fmt.Fprintf(&md, "Summary:")
- for i, line := range text.Lines {
+ for _, line := range text.Lines {
fmt.Fprintf(&md, " ")
- var _ bool = i == 0

printStyled(&md, line)
}
fmt.Fprintf(&md, "\n")
```

Change information

Commit message:
x/tools: remove unused parameters

(As found by gopls/internal/analysis/unusedparam.)
Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c
Files:
  • M cmd/gonew/main.go
  • M cmd/present2md/main.go
  • M go/analysis/passes/stdmethods/stdmethods.go
  • M go/ssa/builder.go
  • M go/ssa/instantiate.go
  • M go/ssa/interp/interp.go
  • M go/ssa/interp/ops.go
  • M go/ssa/interp/reflect.go
  • M go/ssa/subst.go
  • M go/ssa/subst_test.go
  • M gopls/internal/util/typesutil/typesutil.go
  • M internal/gcimporter/bimport.go
  • M internal/jsonrpc2/jsonrpc2_test.go
  • M internal/mcp/client_list_test.go
Change size: M
Delta: 14 files changed, 50 insertions(+), 51 deletions(-)
Branch: refs/heads/master
Submit Requirements:
  • requirement satisfiedCode-Review: +2 by Robert Findley
  • requirement satisfiedTryBots-Pass: LUCI-TryBot-Result+1 by Go LUCI
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: tools
Gerrit-Branch: master
Gerrit-Change-Id: I8301f06964bc8462047dd4c3a946aa08475daf0c
Gerrit-Change-Number: 718500
Gerrit-PatchSet: 4
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages