diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-01-27 14:17:23 +1000 |
---|---|---|
committer | Adriaan Moors <adriaan@lightbend.com> | 2017-01-09 16:07:28 -0800 |
commit | 9165886936133d62a9f190a1a7587fbb889ecf9a (patch) | |
tree | 2535e3d082600b6c1ef8b5cbbb5e9b080d39ea16 /test/files/pos/t720.scala | |
parent | 4f5c30e10a16697edbe7bb6b4719ff09f5c3900b (diff) | |
download | scala-9165886936133d62a9f190a1a7587fbb889ecf9a.tar.gz scala-9165886936133d62a9f190a1a7587fbb889ecf9a.tar.bz2 scala-9165886936133d62a9f190a1a7587fbb889ecf9a.zip |
SI-9114 Fix crasher in pattern matcher with type aliases
When determining whether or not a pattern match requires an equality
check of the outer instance of a type in addition to a type test,
`needsOuterTest` determines if the intersection of the selector and
the pattern types could be populated. Both type arrive at
`isPopulated` dealised.
However, `isPopulated` recurs when it encounters an existential,
and, as seen in thest case, a failure to dealias the quantified
type can lead to an assertion failure as we try to relate a
typeref to an alias and a typeref to a class.
See also SI-7214, which added deliasing of the pattern type
before calling `isPopulated`.
Diffstat (limited to 'test/files/pos/t720.scala')
0 files changed, 0 insertions, 0 deletions