New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup in aisle patmat #5612
Cleanup in aisle patmat #5612
Conversation
While investigating scala/scala-dev#251
While investigating scala/scala-dev#251
…ckport] Hash consing of trees within pattern match analysis was broken, and considered `x1.foo#1` to be the same tree as `x1.foo#2`, even though the two `foo`-s referred to different symbols. The hash consing was based on `Tree#correspondsStructure`, but the predicate in that function cannot veto correspondance, it can only supplement the default structural comparison. I've instead created a custom tree comparison method for use in the pattern matcher that handles the tree shapes that we use. (cherry picked from commit 79a52e6)
Trying out a restarr on the first commit in https://scala-ci.typesafe.com/job/scala-2.11.x-validate-publish-core/2992 and subsequent rebuilds. All green for those builds, whereas trying Hypotheses: your change has:
To start testing out the last point, I tried disabling the C2 JIT compiler in the SBT process. I still experienced the failure: https://scala-ci.typesafe.com/job/scala-2.11.x-validate-publish-core/3003/console |
@retronym does |
I also played a bit with jvm flags yesterday, but using 8. lrytz@4448e22. i did two runs, but the failure didn't show up. |
Hmm, maybe the SBT runner on Jenkins was ignoring |
with java 6, |
I say we bury this bug along with 2016. Lets merge this one when green enough, and restarr in the new year. We'll have three weeks of battle testing for the remainder of the 2.11.9 cycle. |
/synch |
/rebuild |
A backport and a few cleanups to desperately try to combat scala/scala-dev#251