diff options
author | Burak Emir <emir@epfl.ch> | 2007-07-06 10:04:34 +0000 |
---|---|---|
committer | Burak Emir <emir@epfl.ch> | 2007-07-06 10:04:34 +0000 |
commit | 633354bc2d4f237a13dec0d9fbc237647d51c921 (patch) | |
tree | 60400d879dbf5930ac2f170211558924cf03e0d5 /src | |
parent | 5fa0bb8d4273ce53c72be82fdc9e3402b65be013 (diff) | |
download | scala-633354bc2d4f237a13dec0d9fbc237647d51c921.tar.gz scala-633354bc2d4f237a13dec0d9fbc237647d51c921.tar.bz2 scala-633354bc2d4f237a13dec0d9fbc237647d51c921.zip |
(only added code in a comment) suggestion, rela...
(only added code in a comment) suggestion, related to #1196 - handling of refined types seems somehow broken, prevents a feature enhancement
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index ac8c55e920..b3debaf9af 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -1620,9 +1620,13 @@ trait Typers { self: Analyzer => if (formals1.length == args.length) { val args1 = typedArgs(args, mode, formals0, formals1) if (!isFullyDefined(pt)) assert(false, tree+" ==> "+UnApply(fun1, args1)+", pt = "+pt) - // restore old type (this will never work, but just pass typechecking) + // <pending-change> + // this would be a better choice (from #1196), but fails due to (broken?) refinements + // val itype = refinedType(List(pt, arg.tpe), context.owner) + // </pending-change> + // restore old type (arg is a dummy tree, just needs to pass typechecking) arg.tpe = oldArgType - UnApply(fun1, args1) setPos tree.pos setType pt + UnApply(fun1, args1) setPos tree.pos setType pt // itype //pt } else { errorTree(tree, "wrong number of arguments for "+treeSymTypeMsg(fun)) } |