Skip to content

Bug experienced when building with go 1.25.0 #747

@Josephus-git

Description

@Josephus-git

Bug Report: Cannot Define New Methods on Non-Local Types with Go 1.25

Description
When attempting to build with Go version 1.25.0, I am encountering a series of build errors related to defining new methods on non-local types. This issue seems to be a compatibility problem between the gio library and the latest Go compiler. The errors are specifically related to types within the gioui.org/cpu and gioui.org/internal/vk packages.

Steps to Reproduce

  1. Ensure Go version 1.25.0 is installed.

  2. Attempt to build the project.

  3. The build fails with the following errors:

    # gioui.org/cpu
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:38:10: cannot define new methods on non-local type BufferDescriptor
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:42:10: cannot define new methods on non-local type BufferDescriptor
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:53:10: cannot define new methods on non-local type ImageDescriptor
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:57:10: cannot define new methods on non-local type ImageDescriptor
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:68:10: cannot define new methods on non-local type DispatchContext
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:72:10: cannot define new methods on non-local type DispatchContext
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:76:10: cannot define new methods on non-local type DispatchContext
    /home/josephus/go/1.25.0/pkg/mod/gioui.org/cpu@v0.0.0-20210817075930-8d6a761490d2/driver.go:84:10: cannot define new methods on non-local type ThreadContext
    # gioui.org/internal/vk
    /home/josephus/go/1.25.0/pkg/mod/gioui.org@v0.7.0/internal/vk/vulkan.go:1896:9: cannot define new methods on non-local type PushConstantRange
    /home/josephus/go/1.25.0/pkg/mod/gioui.org@v0.7.0/internal/vk/vulkan.go:1900:9: cannot define new methods on non-local type PushConstantRange
    /home/josephus/go/1.25.0/pkg/mod/gioui.org@v0.7.0/internal/vk/vulkan.go:1904:9: cannot define new methods on non-local type PushConstantRange
    /home/josephus/go/1.25.0/pkg/mod/gioui.org@v0.7.0/internal/vk/vulkan.go:1908:9: cannot define new methods on non-local type QueueFamilyProperties
    /home/josephus/go/1.25.0/pkg/mod/gioui.org@v0.7.0/internal/vk/vulkan.go:1912:9: cannot define new methods on non-local type SurfaceCapabilities
    /home/josephus/go/1.25.0/pkg/mod/gioui.org@v0.7.0/internal/vk/vulkan.go:1916:9: cannot define new methods on non-local type SurfaceCapabilities
    

Expected Behavior
The project should build successfully without any compilation errors.

Environment

  • Operating System: Ubuntu
  • Go Version: 1.25.0
  • gioui.org version: v0.7.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions