Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go1.11beta1
Does this issue reproduce with the latest release?
Yes, with the latest beta.
What operating system and processor architecture are you using (go env)?
GOOS="linux"
GOARCH="amd64"
What did you do?
Ran all tests from a closed source monorepo with go1.11beta1 and one test fails with the new beta.
The test is somewhat bigger but the core error is that a config struct that holds compiled regexps among other things gets marshaled to json and unmarshaled back.
reflect.DeepEqual is used to test the equality of the result.
Easiest way I could find to reproduce: https://play.golang.org/p/5WB8WJbQG15
go1.10 returns true, while go1.11beta1 returns false
What did you expect to see?
result true for go1.11beta1 as it is in go1.10
What did you see instead?
result false
I don't think reflect.DeepEqual is even a good idea here but it's still a behavior change.
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version)?go1.11beta1
Does this issue reproduce with the latest release?
Yes, with the latest beta.
What operating system and processor architecture are you using (
go env)?GOOS="linux"
GOARCH="amd64"
What did you do?
Ran all tests from a closed source monorepo with
go1.11beta1and one test fails with the new beta.The test is somewhat bigger but the core error is that a config struct that holds compiled regexps among other things gets marshaled to json and unmarshaled back.
reflect.DeepEqualis used to test the equality of the result.Easiest way I could find to reproduce: https://play.golang.org/p/5WB8WJbQG15
go1.10returnstrue, whilego1.11beta1returnsfalseWhat did you expect to see?
result
truefor go1.11beta1 as it is ingo1.10What did you see instead?
result
falseI don't think
reflect.DeepEqualis even a good idea here but it's still a behavior change.