Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package govulncheck for openSUSE:Factory 
checked in at 2026-09-11 18:05:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/govulncheck (Old)
 and      /work/SRC/openSUSE:Factory/.govulncheck.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "govulncheck"

Fri Sep 11 18:05:39 2026 rev:21 rq:1377407 version:1.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/govulncheck/govulncheck.changes  2026-08-30 
19:08:03.895730340 +0200
+++ /work/SRC/openSUSE:Factory/.govulncheck.new.1265/govulncheck.changes        
2026-09-11 18:08:39.762246440 +0200
@@ -1,0 +2,8 @@
+Tue Sep  8 20:52:42 UTC 2026 - Jeff Kowalczyk <[email protected]>
+
+- Update to version 1.8.0:
+  * go.mod: update golang.org/x dependencies
+  * cmd/govulncheck/integration: bump image version
+  * all: upgrade go directive to at least 1.26.0 [generated]
+
+-------------------------------------------------------------------

Old:
----
  govulncheck-1.7.0.tar.gz

New:
----
  govulncheck-1.8.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ govulncheck.spec ++++++
--- /var/tmp/diff_new_pack.RN4HK2/_old  2026-09-11 18:08:40.580280688 +0200
+++ /var/tmp/diff_new_pack.RN4HK2/_new  2026-09-11 18:08:40.586280939 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           govulncheck
-Version:        1.7.0
+Version:        1.8.0
 Release:        0
 Summary:        CLI tool to report known CVE vulnerabilities in Go source code 
and binaries
 License:        BSD-3-Clause

++++++ _service ++++++
--- /var/tmp/diff_new_pack.RN4HK2/_old  2026-09-11 18:08:40.643283325 +0200
+++ /var/tmp/diff_new_pack.RN4HK2/_new  2026-09-11 18:08:40.648283534 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/golang/vuln.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v1.7.0</param>
+    <param name="revision">v1.8.0</param>
     <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*?)(\+git0\.?.*?)?$</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.RN4HK2/_old  2026-09-11 18:08:40.681284916 +0200
+++ /var/tmp/diff_new_pack.RN4HK2/_new  2026-09-11 18:08:40.686285125 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/golang/vuln.git</param>
-              <param 
name="changesrevision">617f44b718537dccdea1915395650e0529e3b72e</param></service></servicedata>
+              <param 
name="changesrevision">709015412431dd2b5b28a53c06c70bc02d49074c</param></service></servicedata>
 (No newline at EOF)
 

++++++ govulncheck-1.7.0.tar.gz -> govulncheck-1.8.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/govulncheck/govulncheck-1.7.0.tar.gz 
/work/SRC/openSUSE:Factory/.govulncheck.new.1265/govulncheck-1.8.0.tar.gz 
differ: char 12, line 1

++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/mod/modfile/rule.go 
new/vendor/golang.org/x/mod/modfile/rule.go
--- old/vendor/golang.org/x/mod/modfile/rule.go 2026-08-13 20:01:04.000000000 
+0200
+++ new/vendor/golang.org/x/mod/modfile/rule.go 2026-09-08 22:52:42.000000000 
+0200
@@ -1678,7 +1678,7 @@
        return nil
 }
 
-// RemoveTool removes a tool directive with the given path.
+// DropTool removes a tool directive with the given path.
 // It does nothing if no such tool directive exists.
 func (f *File) DropTool(path string) error {
        for _, t := range f.Tool {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/mod/modfile/work.go 
new/vendor/golang.org/x/mod/modfile/work.go
--- old/vendor/golang.org/x/mod/modfile/work.go 2026-08-13 20:01:04.000000000 
+0200
+++ new/vendor/golang.org/x/mod/modfile/work.go 2026-09-08 22:52:42.000000000 
+0200
@@ -84,7 +84,7 @@
 }
 
 // Cleanup cleans up the file f after any edit operations.
-// To avoid quadratic behavior, modifications like [WorkFile.DropRequire]
+// To avoid quadratic behavior, modifications like [WorkFile.DropUse]
 // clear the entry but do not remove it from the slice.
 // Cleanup cleans out all the cleared entries.
 func (f *WorkFile) Cleanup() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/types_windows.go 
new/vendor/golang.org/x/sys/windows/types_windows.go
--- old/vendor/golang.org/x/sys/windows/types_windows.go        2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/sys/windows/types_windows.go        2026-09-08 
22:52:42.000000000 +0200
@@ -1065,6 +1065,7 @@
        SO_BROADCAST              = 32
        SO_LINGER                 = 128
        SO_RCVBUF                 = 0x1002
+       SO_SNDTIMEO               = 0x1005
        SO_RCVTIMEO               = 0x1006
        SO_SNDBUF                 = 0x1001
        SO_UPDATE_ACCEPT_CONTEXT  = 0x700b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/tools/go/ast/astutil/imports.go 
new/vendor/golang.org/x/tools/go/ast/astutil/imports.go
--- old/vendor/golang.org/x/tools/go/ast/astutil/imports.go     2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/go/ast/astutil/imports.go     2026-09-08 
22:52:42.000000000 +0200
@@ -9,7 +9,6 @@
        "fmt"
        "go/ast"
        "go/token"
-       "reflect"
        "slices"
        "strconv"
        "strings"
@@ -473,15 +472,10 @@
 }
 
 // updateBasicLitPos updates lit.Pos,
-// ensuring that lit.End (if set) is displaced by the same amount.
+// ensuring that lit.End is displaced by the same amount.
 // (See https://go.dev/issue/76395.)
 func updateBasicLitPos(lit *ast.BasicLit, pos token.Pos) {
        len := lit.End() - lit.Pos()
        lit.ValuePos = pos
-       // TODO(adonovan): after go1.26, simplify to:
-       //   lit.ValueEnd = pos + len
-       v := reflect.ValueOf(lit).Elem().FieldByName("ValueEnd")
-       if v.IsValid() && v.Int() != 0 {
-               v.SetInt(int64(pos + len))
-       }
+       lit.ValueEnd = pos + len
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go 
new/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
--- old/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go       
2026-08-13 20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go       
2026-09-08 22:52:42.000000000 +0200
@@ -2,63 +2,44 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// Package gcexportdata provides functions for reading and writing
-// export data, which is a serialized description of the API of a Go
-// package including the names, kinds, types, and locations of all
-// exported declarations.
-//
-// The standard Go compiler (cmd/compile) writes an export data file
-// for each package it compiles, which it later reads when compiling
-// packages that import the earlier one. The compiler must thus
-// contain logic to both write and read export data.
-// (See the "Export" section in the cmd/compile/README file.)
-//
-// The [Read] function in this package can read files produced by the
-// compiler, producing [go/types] data structures. As a matter of
-// policy, Read supports export data files produced by only the last
-// two Go releases plus tip; see https://go.dev/issue/68898. The
-// export data files produced by the compiler contain additional
-// details related to generics, inlining, and other optimizations that
-// cannot be decoded by the [Read] function.
-//
-// In files written by the compiler, the export data is not at the
-// start of the file. Before calling Read, use [NewReader] to locate
-// the desired portion of the file.
-//
-// The [Write] function in this package encodes the exported API of a
-// Go package ([types.Package]) as a file. Such files can be later
-// decoded by Read, but cannot be consumed by the compiler.
-//
-// # Future changes
-//
-// Although Read supports the formats written by both Write and the
-// compiler, the two are quite different, and there is an open
-// proposal (https://go.dev/issue/69491) to separate these APIs.
-//
-// Under that proposal, this package would ultimately provide only the
-// Read operation for compiler export data, which must be defined in
-// this module (golang.org/x/tools), not in the standard library, to
-// avoid version skew for developer tools that need to read compiler
-// export data both before and after a Go release, such as from Go
-// 1.23 to Go 1.24. Because this package lives in the tools module,
-// clients can update their version of the module some time before the
-// Go 1.24 release and rebuild and redeploy their tools, which will
-// then be able to consume both Go 1.23 and Go 1.24 export data files,
-// so they will work before and after the Go update. (See discussion
-// at https://go.dev/issue/15651.)
-//
-// The operations to import and export [go/types] data structures
-// would be defined in the go/types package as Import and Export.
-// [Write] would (eventually) delegate to Export,
-// and [Read], when it detects a file produced by Export,
-// would delegate to Import.
+// Package gcexportdata provides functions for writing and reading
+// export data, a serialized representation of a [types.Package].
+// It describes the API of a Go package, including the names,
+// kinds, types, and locations of all exported declarations.
+//
+// Files may be written and read using the [Write] and [Read]
+// functions.
+// Alternatively, files may be produced by the "go list -export" command.
+// This command runs the type checker on each specified Go package and
+// writes export data for each package into a file named by the Export
+// field of go list's -json output.
+// The [Read] function may then be used to read those files.
+//
+// The export data format evolves with each Go release. As a matter of
+// policy, [Read] supports reading files produced by only the last two
+// Go releases plus tip; see https://go.dev/issue/68898.
+//
+// The name of this package reflects its origins at a time when
+// cmd/compile was named gc, and [Read] parsed export data
+// from .a archives produced by the Go compiler.
+// However, starting with go1.28, the format of the files
+// produced by "go list -export" will diverge from the format
+// used by the standard Go compiler.
+// Consequently, this package will eventually stop being
+// capable of reading those files.
+// In the meantime, when using [Read] on a .a file written by the
+// compiler, be aware that export data is not at the start of the file.
+// Before calling Read, one must use [NewReader] to locate the export
+// data section of the file.
+// For more information on the compiler's export data, see the
+// "Export" section in the GOROOT/src/cmd/compile/README file.
 //
 // # Deprecations
 //
-// The [NewImporter] and [Find] functions are deprecated and should
-// not be used in new code. The [WriteBundle] and [ReadBundle]
-// functions are experimental, and there is an open proposal to
-// deprecate them (https://go.dev/issue/69573).
+// The [NewImporter], [Find], and [NewReader] functions are deprecated
+// and should not be used in new code.
+// The [WriteBundle] and [ReadBundle] functions are experimental, and
+// there is an open proposal to deprecate them (https://go.dev/issue/69573).
 package gcexportdata
 
 import (
@@ -104,6 +85,9 @@
 // NewReader returns a reader for the export data section of an object
 // (.o) or archive (.a) file read from r.  The new reader may provide
 // additional trailing data beyond the end of the export data.
+//
+// Deprecated: This package will stop supporting the reading of export
+// data from compiler-produced archive files in Go 1.29.
 func NewReader(r io.Reader) (io.Reader, error) {
        buf := bufio.NewReader(r)
        size, err := gcimporter.FindExportData(buf)
@@ -176,16 +160,7 @@
                case 'i':
                        // indexed, produced by cmd/compile till go1.19,
                        // and also by [Write].
-                       //
-                       // If proposal #69491 is accepted, go/types
-                       // serialization will be implemented by
-                       // types.Export, to which Write would eventually
-                       // delegate (explicitly dropping any pretence at
-                       // inter-version Write-Read compatibility).
-                       // This [Read] function would delegate to types.Import
-                       // when it detects that the file was produced by Export.
-                       _, pkg, err := gcimporter.IImportData(fset, imports, 
data[1:], path)
-                       return pkg, err
+                       return gcimporter.IImportData(fset, imports, data[1:], 
path)
 
                case 'u':
                        // unified, produced by cmd/compile since go1.20
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/tools/go/ssa/builder.go 
new/vendor/golang.org/x/tools/go/ssa/builder.go
--- old/vendor/golang.org/x/tools/go/ssa/builder.go     2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/go/ssa/builder.go     2026-09-08 
22:52:42.000000000 +0200
@@ -89,27 +89,25 @@
        "golang.org/x/tools/internal/versions"
 )
 
-type opaqueType struct{ name string }
-
-func (t *opaqueType) String() string         { return t.name }
-func (t *opaqueType) Underlying() types.Type { return t }
-
 var (
        varOk    = newVar("ok", tBool)
        varIndex = newVar("index", tInt)
 
        // Type constants.
-       tBool       = types.Typ[types.Bool]
-       tByte       = types.Typ[types.Byte]
-       tRune       = types.Universe.Lookup("rune").Type() // prints as "rune" 
(Typ[Rune] is same as Int32)
-       tInt        = types.Typ[types.Int]
-       tInvalid    = types.Typ[types.Invalid]
-       tString     = types.Typ[types.String]
-       tUntypedNil = types.Typ[types.UntypedNil]
-
-       tRangeIter  = &opaqueType{"iter"}                         // the type 
of all "range" iterators
-       tDeferStack = types.NewPointer(&opaqueType{"deferStack"}) // the type 
of a "deferStack" from ssa:deferstack()
-       tEface      = types.NewInterfaceType(nil, nil).Complete()
+       tBool          = types.Typ[types.Bool]
+       tByte          = types.Typ[types.Byte]
+       tRune          = types.Universe.Lookup("rune").Type() // prints as 
"rune" (Typ[Rune] is same as Int32)
+       tInt           = types.Typ[types.Int]
+       tInvalid       = types.Typ[types.Invalid]
+       tString        = types.Typ[types.String]
+       tUntypedNil    = types.Typ[types.UntypedNil]
+       tUnsafePointer = types.Typ[types.UnsafePointer]
+       tRangeIter     = ssaNamedType("rangeIter", tUnsafePointer)  // the type 
of all "range" iterators
+       tDeferStack    = ssaNamedType("deferStack", tUnsafePointer) // the type 
of a "deferStack" from ssa:deferstack()
+       tEface         = types.NewInterfaceType(nil, nil).Complete()
+
+       // Fake package for fake ssa types.
+       ssaFakeTypesPackage = types.NewPackage("$ssa", "ssa")
 
        // SSA Value constants.
        vZero     = intConst(0)
@@ -129,6 +127,11 @@
        }
 )
 
+func ssaNamedType(name string, underlying types.Type) *types.Named {
+       obj := types.NewTypeName(token.NoPos, ssaFakeTypesPackage, name, nil)
+       return types.NewNamed(obj, underlying, nil)
+}
+
 // builder holds state associated with the package currently being built.
 // Its methods contain all the logic for AST-to-SSA conversion.
 //
@@ -641,11 +644,13 @@
                        info:           fn.info,
                        goversion:      fn.goversion,
                        build:          (*builder).buildFromSyntax,
-                       topLevelOrigin: nil,           // use anonIdx to lookup 
an anon instance's origin.
-                       typeparams:     fn.typeparams, // share the parent's 
type parameters.
-                       typeargs:       fn.typeargs,   // share the parent's 
type arguments.
-                       subst:          fn.subst,      // share the parent's 
type substitutions.
-                       uniq:           fn.uniq,       // start from parent's 
unique values
+                       topLevelOrigin: nil,               // use anonIdx to 
lookup an anon instance's origin.
+                       recvtypeparams: fn.recvtypeparams, // share the 
parent's receiver type parameters.
+                       recvtypeargs:   fn.recvtypeargs,   // share the 
parent's receiver type arguments.
+                       typeparams:     fn.typeparams,     // share the 
parent's type parameters.
+                       typeargs:       fn.typeargs,       // share the 
parent's type arguments.
+                       subst:          fn.subst,          // share the 
parent's type substitutions.
+                       uniq:           fn.uniq,           // start from 
parent's unique values
                }
                fn.AnonFuncs = append(fn.AnonFuncs, anon)
                // Build anon immediately, as it may cause fn's locals to 
escape.
@@ -1135,8 +1140,8 @@
        b.setCallFunc(fn, e, c)
 
        // Then append the other actual parameters.
-       sig, _ := typeparams.CoreType(fn.typeOf(e.Fun)).(*types.Signature)
-       if sig == nil {
+       sig, ok := typeparams.CoreType(fn.typeOf(e.Fun)).(*types.Signature)
+       if !ok {
                panic(fmt.Sprintf("no signature for call of %s", e.Fun))
        }
        c.Args = b.emitCallArgs(fn, sig, e, c.Args)
@@ -2535,6 +2540,8 @@
                goversion:      fn.goversion,
                build:          (*builder).buildYieldFunc,
                topLevelOrigin: nil,
+               recvtypeparams: fn.recvtypeparams,
+               recvtypeargs:   fn.recvtypeargs,
                typeparams:     fn.typeparams,
                typeargs:       fn.typeargs,
                subst:          fn.subst,
@@ -3014,9 +3021,9 @@
                fn.lblocks[label] = &lblock{
                        label:     label,
                        resolved:  true,
-                       _goto:     ycont,
                        _continue: ycont,
-                       // `break label` statement targets 
fn.parent.targets._break
+                       // `goto label` searches the parent lblock, and
+                       // `break label` targets fn.parent.targets._break.
                }
        }
        fn.targets = &targets{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/tools/go/ssa/methods.go 
new/vendor/golang.org/x/tools/go/ssa/methods.go
--- old/vendor/golang.org/x/tools/go/ssa/methods.go     2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/go/ssa/methods.go     2026-09-08 
22:52:42.000000000 +0200
@@ -32,7 +32,10 @@
                return nil // interface method or type parameter
        }
 
-       if prog.isParameterized(T, sel.Type()) {
+       // Selection.Type allocates a new Signature on each call, and
+       // isParameterized memoizes by type identity, so an uncanonicalized
+       // argument would add one permanently retained entry per call (#81308).
+       if prog.isParameterized(T, prog.canon.Type(sel.Type())) {
                return nil // method on generic type or generic method
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/tools/go/ssa/sanity.go 
new/vendor/golang.org/x/tools/go/ssa/sanity.go
--- old/vendor/golang.org/x/tools/go/ssa/sanity.go      2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/go/ssa/sanity.go      2026-09-08 
22:52:42.000000000 +0200
@@ -233,8 +233,6 @@
                t := v.Type()
                if t == nil {
                        s.errorf("no type: %s = %s", v.Name(), v)
-               } else if t == tRangeIter || t == tDeferStack {
-                       // not a proper type; ignore.
                } else if b, ok := t.Underlying().(*types.Basic); ok && 
b.Info()&types.IsUntyped != 0 {
                        s.errorf("instruction has 'untyped' result: %s = %s : 
%s", v.Name(), v, t)
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/tools/go/ssa/subst.go 
new/vendor/golang.org/x/tools/go/ssa/subst.go
--- old/vendor/golang.org/x/tools/go/ssa/subst.go       2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/go/ssa/subst.go       2026-09-08 
22:52:42.000000000 +0200
@@ -158,9 +158,6 @@
        case *types.Named:
                return subst.named(t)
 
-       case *opaqueType:
-               return t // opaque types are never substituted
-
        default:
                panic("unreachable")
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/tools/internal/gcimporter/iexport.go 
new/vendor/golang.org/x/tools/internal/gcimporter/iexport.go
--- old/vendor/golang.org/x/tools/internal/gcimporter/iexport.go        
2026-08-13 20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/internal/gcimporter/iexport.go        
2026-09-08 22:52:42.000000000 +0200
@@ -712,7 +712,7 @@
                w.typ(obj.Type(), obj.Pkg())
 
        case *types.Func:
-               sig, _ := obj.Type().(*types.Signature)
+               sig := obj.Type().(*types.Signature)
                if sig.Recv() != nil {
                        // We shouldn't see methods in the package scope,
                        // but the type checker may repair "func () F() {}"
@@ -745,7 +745,7 @@
        case *types.Const:
                w.tag(constTag)
                w.pos(obj.Pos())
-               w.value(obj.Type(), obj.Val())
+               w.value(obj.Type(), obj.Val(), obj.Pkg())
 
        case *types.TypeName:
                t := obj.Type()
@@ -822,7 +822,7 @@
                        m := named.Method(i)
                        w.pos(m.Pos())
                        w.string(m.Name())
-                       sig, _ := m.Type().(*types.Signature)
+                       sig := m.Type().(*types.Signature)
                        if w.p.version >= iexportVersionGenericMethods && 
w.bool(sig.TypeParams().Len() > 0) {
                                w.tparamList(obj.Name()+"."+m.Name(), 
sig.TypeParams(), obj.Pkg())
                        }
@@ -970,9 +970,11 @@
 // typ emits the specified type.
 //
 // Objects within the type (struct fields and interface methods) are
-// qualified by pkg. It may be nil if the type cannot contain objects,
-// such as the type of a constant.
+// qualified by pkg.
 func (w *exportWriter) typ(t types.Type, pkg *types.Package) {
+       if pkg == nil {
+               pkg = w.p.localpkg
+       }
        w.data.uint64(w.p.typOff(t, pkg))
 }
 
@@ -1148,7 +1150,7 @@
                        }
                        w.pos(m.Pos())
                        w.string(m.Name())
-                       sig, _ := m.Type().(*types.Signature)
+                       sig := m.Type().(*types.Signature)
                        w.signature(sig)
                }
 
@@ -1295,8 +1297,12 @@
        w.typ(obj.Type(), obj.Pkg())
 }
 
-func (w *exportWriter) value(typ types.Type, v constant.Value) {
-       w.typ(typ, nil)
+// only called for constants
+func (w *exportWriter) value(typ types.Type, v constant.Value, pkg 
*types.Package) {
+       if pkg == nil {
+               pkg = w.p.localpkg
+       }
+       w.typ(typ, pkg)
        if w.p.version >= iexportVersionGo1_18 {
                w.int64(int64(v.Kind()))
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/tools/internal/gcimporter/iimport.go 
new/vendor/golang.org/x/tools/internal/gcimporter/iimport.go
--- old/vendor/golang.org/x/tools/internal/gcimporter/iimport.go        
2026-08-13 20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/internal/gcimporter/iimport.go        
2026-09-08 22:52:42.000000000 +0200
@@ -30,14 +30,6 @@
        path string
 }
 
-func (r *intReader) int64() int64 {
-       i, err := binary.ReadVarint(r.Reader)
-       if err != nil {
-               errorf("import %q: read varint error: %v", r.path, err)
-       }
-       return i
-}
-
 func (r *intReader) uint64() uint64 {
        i, err := binary.ReadUvarint(r.Reader)
        if err != nil {
@@ -101,12 +93,12 @@
 // and returns 0 and a reference to the package.
 // If the export data version is not recognized or the format is otherwise
 // compromised, an error is returned.
-func IImportData(fset *token.FileSet, imports map[string]*types.Package, data 
[]byte, path string) (int, *types.Package, error) {
+func IImportData(fset *token.FileSet, imports map[string]*types.Package, data 
[]byte, path string) (*types.Package, error) {
        pkgs, err := iimportCommon(fset, GetPackagesFromMap(imports), data, 
false, path, false, nil)
        if err != nil {
-               return 0, nil, err
+               return nil, err
        }
-       return 0, pkgs[0], nil
+       return pkgs[0], nil
 }
 
 // IImportBundle imports a set of packages from the serialized package bundle.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/tools/internal/gcimporter/ureader.go 
new/vendor/golang.org/x/tools/internal/gcimporter/ureader.go
--- old/vendor/golang.org/x/tools/internal/gcimporter/ureader.go        
2026-08-13 20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/internal/gcimporter/ureader.go        
2026-09-08 22:52:42.000000000 +0200
@@ -629,11 +629,26 @@
                                })
                        }
 
-                       for i, n := 0, r.Len(); i < n; i++ {
-                               named.AddMethod(r.method())
-                       }
-
                        if r.Version().Has(pkgbits.GenericMethods) {
+                               // V4 (go1.27.0) emitted all non-generic methods
+                               // before all generic ones, discarding source
+                               // order: a bug (go.dev/issue/81188).
+                               // V5 (go1.27.x) fixes it by emitting an 
explicit
+                               // index along with each method.
+                               type indexedMethod struct {
+                                       index int // (or -1 in V4)
+                                       fn    *types.Func
+                               }
+
+                               var methods []indexedMethod
+
+                               // ordinary methods
+                               for range r.Len() {
+                                       idx, m := r.method()
+                                       methods = append(methods, 
indexedMethod{idx, m})
+                               }
+
+                               // generic methods
                                for range r.Len() {
                                        // Careful: objIdx is used to read in 
package-scoped declarations, which
                                        // methods are not. Instead, decode it 
here. This makes it easier to
@@ -648,11 +663,31 @@
                                        pkg, name := r.selector()
                                        rtparams := r.typeParamNames(true)
                                        recv := r.param()
+                                       methodIdx := -1
+                                       if 
r.Version().Has(pkgbits.PreserveMethodOrder) {
+                                               methodIdx = r.Len()
+                                       }
                                        tparams := r.typeParamNames(false)
                                        sig := r.signature(recv, rtparams, 
tparams)
 
                                        pr.retireReader(r)
-                                       named.AddMethod(types.NewFunc(pos, pkg, 
name, sig))
+                                       methods = append(methods, 
indexedMethod{methodIdx, types.NewFunc(pos, pkg, name, sig)})
+                               }
+
+                               if r.Version().Has(pkgbits.PreserveMethodOrder) 
{
+                                       sort.Slice(methods, func(i, j int) bool 
{
+                                               return methods[i].index < 
methods[j].index
+                                       })
+                               }
+
+                               for _, m := range methods {
+                                       named.AddMethod(m.fn)
+                               }
+
+                       } else {
+                               for range r.Len() {
+                                       _, m := r.method()
+                                       named.AddMethod(m)
                                }
                        }
 
@@ -766,8 +801,12 @@
        return tparams
 }
 
-func (r *reader) method() *types.Func {
+func (r *reader) method() (int, *types.Func) {
        r.Sync(pkgbits.SyncMethod)
+       idx := -1
+       if r.Version().Has(pkgbits.PreserveMethodOrder) {
+               idx = r.Len()
+       }
        pos := r.pos()
        pkg, name := r.selector()
 
@@ -775,7 +814,7 @@
        sig := r.signature(r.param(), rparams, nil)
 
        _ = r.pos() // TODO(mdempsky): Remove; this is a hacker for linker.go.
-       return types.NewFunc(pos, pkg, name, sig)
+       return idx, types.NewFunc(pos, pkg, name, sig)
 }
 
 func (r *reader) qualifiedIdent() (*types.Package, string) { return 
r.ident(pkgbits.SyncSym) }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/tools/internal/pkgbits/version.go 
new/vendor/golang.org/x/tools/internal/pkgbits/version.go
--- old/vendor/golang.org/x/tools/internal/pkgbits/version.go   2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/internal/pkgbits/version.go   2026-09-08 
22:52:42.000000000 +0200
@@ -37,6 +37,10 @@
        // V4: encodes generic methods as standalone function objects
        V4
 
+       // V5: encodes the index of methods to preserve relative order
+       // of nongeneric and generic methods (go.dev/issue/81188).
+       V5
+
        numVersions = iota
 )
 
@@ -76,6 +80,10 @@
        // Generic methods may appear as standalone function objects.
        GenericMethods
 
+       // Method index is encoded to preserve relative order of
+       // nongeneric and generic methods.
+       PreserveMethodOrder
+
        numFields = iota
 )
 
@@ -85,6 +93,7 @@
        AliasTypeParamNames: V2,
        CompactCompLiterals: V3,
        GenericMethods:      V4,
+       PreserveMethodOrder: V5,
 }
 
 // removed is the version a field was removed in or 0 for fields
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/tools/internal/stdlib/deps.go 
new/vendor/golang.org/x/tools/internal/stdlib/deps.go
--- old/vendor/golang.org/x/tools/internal/stdlib/deps.go       2026-08-13 
20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/internal/stdlib/deps.go       2026-09-08 
22:52:42.000000000 +0200
@@ -44,7 +44,7 @@
        {"crypto/internal/boring/bcache", "\xcf\x02\x14"},
        {"crypto/internal/boring/sig", ""},
        {"crypto/internal/constanttime", ""},
-       {"crypto/internal/cryptotest", 
"\x03\r\v\n%\x11\x1a\r\x12\x12!\x04\x06\n\x19\x01\x11\x11\x1d\x01\a\x03\x02\b\x02\x01\x05\f"},
+       {"crypto/internal/cryptotest", 
"\x03\r\v\n%\x11\x1a\r\x12\x12!\x04\x06\n\x19\x01\x11\x11\x1d\x01\a\x03\x02\b\x02\x01\x04\x01\f"},
        {"crypto/internal/cryptotest/wycheproof", 
"\x0e\x12T\x01\f\x01r@\x05\x03\x15\x10"},
        {"crypto/internal/cryptotest/x509limbo", "u\n\x03\xba\x01\x03\x1e"},
        {"crypto/internal/entropy", "M"},
@@ -122,7 +122,7 @@
        {"embed/internal/embedtest", ""},
        {"encoding", ""},
        {"encoding/ascii85", "\x86\x02E"},
-       {"encoding/asn1", "\x03|\x03h(\x01)\r\x02\x01\x11\x03\x01"},
+       {"encoding/asn1", "\x03|\x03h(\x01)\x05\b\x02\x01\x11\x03\x01"},
        {"encoding/base32", "\x86\x02C\x02"},
        {"encoding/base64", "\xaa\x01\\C\x02"},
        {"encoding/binary", "\x7f\x87\x01\f*\r\x05"},
@@ -319,7 +319,7 @@
        {"net/rpc/jsonrpc", "u\n\x03\x84\x01\x16\x13\x1f"},
        {"net/smtp", "\x196\r\x14\x0f\x03\x84\x01\x16\x16\x1a"},
        {"net/textproto", "\x02\x01|\x03\x84\x01\f\n/\x01\x02\x15"},
-       {"net/url", "\x7f\x03Ff\v\x10\x02\x01\x17"},
+       {"net/url", "\x03|\x03Ff\v\x10\x02\x01\x17"},
        {"os", 
"\x7f*\x01\x19\x04\x11\x14\x01\x03\x01\x05\x10\x01:\b\x05\x01\x01\r\x06"},
        {"os/exec", "\x03\nrI(\x01\x15\x01-\x06\a\n\x01\x03\x01\r"},
        {"os/exec/internal/fdtest", "\xd0\x02"},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/tools/internal/typesinternal/types.go 
new/vendor/golang.org/x/tools/internal/typesinternal/types.go
--- old/vendor/golang.org/x/tools/internal/typesinternal/types.go       
2026-08-13 20:01:04.000000000 +0200
+++ new/vendor/golang.org/x/tools/internal/typesinternal/types.go       
2026-09-08 22:52:42.000000000 +0200
@@ -271,6 +271,8 @@
        }
 }
 
+// TupleOf returns a tuple type with the specified list of (unnamed)
+// var types. Neither the zero nor one cases are special.
 func TupleOf(elems ...types.Type) *types.Tuple {
        params := make([]*types.Var, len(elems))
        for i, elem := range elems {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt      2026-08-13 20:01:04.000000000 +0200
+++ new/vendor/modules.txt      2026-09-08 22:52:42.000000000 +0200
@@ -12,20 +12,20 @@
 # github.com/google/renameio v0.1.0
 ## explicit
 github.com/google/renameio
-# golang.org/x/mod v0.39.0
-## explicit; go 1.25.0
+# golang.org/x/mod v0.41.0
+## explicit; go 1.26.0
 golang.org/x/mod/internal/lazyregexp
 golang.org/x/mod/modfile
 golang.org/x/mod/module
 golang.org/x/mod/semver
-# golang.org/x/sync v0.22.0
-## explicit; go 1.25.0
+# golang.org/x/sync v0.23.0
+## explicit; go 1.26.0
 golang.org/x/sync/errgroup
-# golang.org/x/sys v0.47.0
-## explicit; go 1.25.0
+# golang.org/x/sys v0.48.0
+## explicit; go 1.26.0
 golang.org/x/sys/windows
-# golang.org/x/telemetry v0.0.0-20260811182544-a038080d80e5
-## explicit; go 1.25.0
+# golang.org/x/telemetry v0.0.0-20260908163034-4bcc4b2ee518
+## explicit; go 1.26.0
 golang.org/x/telemetry
 golang.org/x/telemetry/counter
 golang.org/x/telemetry/internal/config
@@ -35,8 +35,8 @@
 golang.org/x/telemetry/internal/mmap
 golang.org/x/telemetry/internal/telemetry
 golang.org/x/telemetry/internal/upload
-# golang.org/x/tools v0.49.0
-## explicit; go 1.25.0
+# golang.org/x/tools v0.50.0
+## explicit; go 1.26.0
 golang.org/x/tools/go/ast/astutil
 golang.org/x/tools/go/ast/edge
 golang.org/x/tools/go/ast/inspector

Reply via email to