-- go.mod --
module example.com/basicfork

go 1.12
-- a/a.go --
package a

func A() int { return 1 }
func A3() int { return 4 }
-- b/b.go --
package b

func B() int { return 3 }
