diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-03-21 11:54:02 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-03-24 10:50:00 +0100 |
commit | 4a16b044baf8377e04624207202e83c78a0a49cf (patch) | |
tree | 7794c86def6398d8d28ef74f7314f3390b6a1310 /src/eclipse/scalap | |
parent | bcf24ec9ba07408ad9e8745135cc941ac3e76289 (diff) | |
download | scala-4a16b044baf8377e04624207202e83c78a0a49cf.tar.gz scala-4a16b044baf8377e04624207202e83c78a0a49cf.tar.bz2 scala-4a16b044baf8377e04624207202e83c78a0a49cf.zip |
SI-8430 Less non-determinism in patmat exhautiveness warnings
Another mole whacked on the head by using `LinkedHashMap`.
Caution: `LinkedHashMap` doesn't preserve its runtime type if
you map through the generic interface. I've noted this gotcha as
SI-8434. I've structured this patch to enforce that concrete
collection with types, which is a good idea anyway.
My method to track this down was to place breakpoints in
`Hash{Map,Set}`.{foreach,iterator}` to see where that was
used from within pattern match translation. This approach was
drastically faster than my previous rounds of whack-a-mole.
The counter-examples are still a bit off; I'm going to merge
that aspect of this ticket with SI-7746, in which we've
pinpointed the culpable part of the implementation, but haven't
had success in fixing the bug.
Diffstat (limited to 'src/eclipse/scalap')
0 files changed, 0 insertions, 0 deletions