aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Applications.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-10-12 12:58:30 +0200
committerMartin Odersky <odersky@gmail.com>2013-10-12 12:58:30 +0200
commit54a1bce87b4682ccfb97504e2daa7c36cbf207b2 (patch)
tree5ff7f54b0a8543c289abf295cf9a9f503582a9a1 /src/dotty/tools/dotc/typer/Applications.scala
parentb4c0e4af5ef03384f24e370059724be7c1ca6fb3 (diff)
downloaddotty-54a1bce87b4682ccfb97504e2daa7c36cbf207b2.tar.gz
dotty-54a1bce87b4682ccfb97504e2daa7c36cbf207b2.tar.bz2
dotty-54a1bce87b4682ccfb97504e2daa7c36cbf207b2.zip
Tightening up typer state + printing refinements
1) Made consistency checking water tight, so that inconsistencies are always catched wehn they arise 2) Fixed problem in implicit search that led to inconsistencies 3) Refined printing of type parameters and type arguments
Diffstat (limited to 'src/dotty/tools/dotc/typer/Applications.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Applications.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/typer/Applications.scala b/src/dotty/tools/dotc/typer/Applications.scala
index 05008ac1a..ef0fcf709 100644
--- a/src/dotty/tools/dotc/typer/Applications.scala
+++ b/src/dotty/tools/dotc/typer/Applications.scala
@@ -633,7 +633,7 @@ trait Applications extends Compatibility { self: Typer =>
* @param resultType The expected result type of the application
*/
def isApplicableToTrees(methRef: TermRef, args: List[Tree], resultType: Type)(implicit ctx: Context): Boolean =
- new ApplicableToTrees(methRef, args, resultType)(ctx.fresh.withNewTyperState).success
+ new ApplicableToTrees(methRef, args, resultType)(ctx.fresh.withExploreTyperState).success
def isApplicableToTrees(tp: Type, args: List[Tree], resultType: Type)(implicit ctx: Context): Boolean = tp match {
case methRef: TermRef => isApplicableToTrees(methRef, args, resultType)
@@ -647,7 +647,7 @@ trait Applications extends Compatibility { self: Typer =>
* @param resultType The expected result type of the application
*/
def isApplicableToTypes(methRef: TermRef, args: List[Type], resultType: Type = WildcardType)(implicit ctx: Context) =
- new ApplicableToTypes(methRef, args, resultType)(ctx.fresh.withNewTyperState).success
+ new ApplicableToTypes(methRef, args, resultType)(ctx.fresh.withExploreTyperState).success
def isApplicableToTypes(tp: Type, args: List[Type], resultType: Type)(implicit ctx: Context): Boolean = tp match {
case methRef: TermRef => isApplicableToTypes(methRef, args, resultType)
@@ -659,7 +659,7 @@ trait Applications extends Compatibility { self: Typer =>
/** Is `tp` a subtype of `pt`? */
def testCompatible(tp: Type, pt: Type)(implicit ctx: Context) =
- isCompatible(tp, pt)(ctx.fresh.withNewTyperState)
+ isCompatible(tp, pt)(ctx.fresh.withExploreTyperState)
/** In a set of overloaded applicable alternatives, is `alt1` at least as good as
* `alt2`? `alt1` and `alt2` are nonoverloaded references.