Skip to content

ssa: recursive interface causes stack overflow #310

Open
@elagergren-spideroak

Description

@elagergren-spideroak

Not entirely sure if this is a bug in your SSA package or x/tools/go/types, but this interface causes a stack overflow:

package tmp

type A interface {
	A() interface {
		A
	}
}

func main() {}

A snippet of the stack:

golang.org/x/tools/go/types/typeutil.Hasher.hashFor(0xc420186ab0, 0x1575f00, 0xc4200a1e00, 0x17d1500)
	/Users/elagergren/gopath/src/golang.org/x/tools/go/types/typeutil/map.go:285 +0x26b fp=0xc440195078 sp=0xc440194fd8 pc=0x1201c2b
...additional frames elided...
created by honnef.co/go/tools/ssa.(*Program).Build
	/Users/XX/gopath/src/honnef.co/go/tools/ssa/builder.go:2243 +0x11a

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstreamIssues that are caused by a dependency

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions