blob: d6216ae2443a17cc72f77fa294e05b45820db2c2 [file] [log] [blame]
# Test that dependencies can use Go language features newer than the
# Go version specified by the main module.
env GO111MODULE=on
go build
-- go.mod --
module m
go 1.12
require (
sub.1 v1.0.0
)
replace (
sub.1 => ./sub
)
-- x.go --
package x
import "sub.1"
func F() { sub.F(0, 0) }
var A sub.Alias
var D sub.Defined
-- sub/go.mod --
module m
go 1.14
-- sub/sub.go --
package sub
// signed shift counts added in Go 1.13
func F(l, r int) int { return l << r }
type m1 interface { M() }
type m2 interface { M() }
// overlapping interfaces added in Go 1.14
type Alias = interface { m1; m2; M() }
type Defined interface { m1; m2; M() }