I believe this is a bug in the current Golang implementation, but I'm not completely sure.
Say I have two Go source files:
test1.go:
package tmp
func test1() {
test2()
}
other.go:
package tmp
func test2() {}
They build with no errors; test2() is located in package tmp by test1()
However, if I rename other.go to arm.go, the compiler gives:
undefined: test2
... it's rather strange; any other name seems to work fine, except arm.go. Ideas?