diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-05-02 10:42:48 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-05-02 12:40:56 +0200 |
commit | 3e20bebd192444d8c1b079489292011e8030b532 (patch) | |
tree | 40265c7572ec2da0060e5443e434a92c3cd7ab98 /src/compiler | |
parent | 90d2bee45b25844f809f8c5300aefcb1bfe9e336 (diff) | |
download | scala-3e20bebd192444d8c1b079489292011e8030b532.tar.gz scala-3e20bebd192444d8c1b079489292011e8030b532.tar.bz2 scala-3e20bebd192444d8c1b079489292011e8030b532.zip |
SI-5729: TypeVar experimentals iff -Xexperimental
it used to also be enabled by -Yvirtpatmat, which is now on by default,
but this type hackery is no longer necessary to bootstrap under the new pattern matching scheme,
so let's only turn it on when people are feeling -Xexperimental
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/reflect/internal/Types.scala | 3 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/Global.scala | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/compiler/scala/reflect/internal/Types.scala b/src/compiler/scala/reflect/internal/Types.scala index 026cd35d23..b8346a663d 100644 --- a/src/compiler/scala/reflect/internal/Types.scala +++ b/src/compiler/scala/reflect/internal/Types.scala @@ -97,7 +97,7 @@ trait Types extends api.Types { self: SymbolTable => */ private final val propagateParameterBoundsToTypeVars = sys.props contains "scalac.debug.prop-constraints" - protected val enableTypeVarExperimentals = settings.Xexperimental.value || !settings.XoldPatmat.value + protected val enableTypeVarExperimentals = settings.Xexperimental.value /** Empty immutable maps to avoid allocations. */ private val emptySymMap = immutable.Map[Symbol, Symbol]() @@ -2898,6 +2898,7 @@ trait Types extends api.Types { self: SymbolTable => // existential. // were we compared to skolems at a higher skolemizationLevel? // EXPERIMENTAL: value will not be considered unless enableTypeVarExperimentals is true + // see SI-5729 for why this is still experimental private var encounteredHigherLevel = false private def shouldRepackType = enableTypeVarExperimentals && encounteredHigherLevel diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala index 8c6c927640..d662a52682 100644 --- a/src/compiler/scala/tools/nsc/Global.scala +++ b/src/compiler/scala/tools/nsc/Global.scala @@ -354,9 +354,7 @@ class Global(var currentSettings: Settings, var reporter: Reporter) extends Symb // where I need it, and then an override in Global with the setting. override protected val etaExpandKeepsStar = settings.etaExpandKeepsStar.value // Here comes another one... - override protected val enableTypeVarExperimentals = ( - settings.Xexperimental.value || !settings.XoldPatmat.value - ) + override protected val enableTypeVarExperimentals = settings.Xexperimental.value // True if -Xscript has been set, indicating a script run. def isScriptRun = opt.script.isDefined |