diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-11-27 14:27:07 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-12-03 11:45:54 +1000 |
commit | 64ae23f6438054a08bebf1fa6af0f14d63cfc0ea (patch) | |
tree | 54083975022d0a4c17b53e369f7bd39f8e201c8f /test/files/neg/t7294b.check | |
parent | 028420cd80a2cf1127790fdd28088f6db575e8dd (diff) | |
download | scala-64ae23f6438054a08bebf1fa6af0f14d63cfc0ea.tar.gz scala-64ae23f6438054a08bebf1fa6af0f14d63cfc0ea.tar.bz2 scala-64ae23f6438054a08bebf1fa6af0f14d63cfc0ea.zip |
SI-9008 Fix regression with higher kinded existentials
Allow a naked type constructor in an existential type if
we are directly within a type application.
Recently, 84d4671 changed nested context creation to avoid passing
down the `TypeConstructorAllowed`, which led to missing kind errors
in code like `type T[({type M = List})#M]`.
However, when typechecking `T forSome { quantifiers }`, we create
a nested context to represent the nested scope introduced for the
quantifiers. But we need to propagate the `TypeConstructorAllowed`
bit to the nested context to allow for higher kinded existentials.
The enclosed tests show:
- pos/t9008 well kinded application of an hk existential
- neg/t9008 hk existential forbidden outside of type application
- neg/t9008b kind error reported for hk existential
Regressed in 84d4671.
Diffstat (limited to 'test/files/neg/t7294b.check')
0 files changed, 0 insertions, 0 deletions