summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2012-05-02 10:42:48 +0200
committerAdriaan Moors <adriaan.moors@epfl.ch>2012-05-02 12:40:56 +0200
commit3e20bebd192444d8c1b079489292011e8030b532 (patch)
tree40265c7572ec2da0060e5443e434a92c3cd7ab98 /src/compiler
parent90d2bee45b25844f809f8c5300aefcb1bfe9e336 (diff)
downloadscala-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.scala3
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala4
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