diff options
author | Martin Odersky <odersky@gmail.com> | 2003-10-24 18:15:34 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-10-24 18:15:34 +0000 |
commit | c3dd593e0d28458e838008c3a8311c9994f3f8a2 (patch) | |
tree | 2490ce19deb2b3ecbf30724fa11d3ff7fe3f155f /sources/scalac/typechecker/Infer.java | |
parent | 71d2d7d9787f1be2927a9c66dd8e78e9a9b285ea (diff) | |
download | scala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.tar.gz scala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.tar.bz2 scala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac/typechecker/Infer.java')
-rw-r--r-- | sources/scalac/typechecker/Infer.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sources/scalac/typechecker/Infer.java b/sources/scalac/typechecker/Infer.java index befd1d151c..b23890f0d0 100644 --- a/sources/scalac/typechecker/Infer.java +++ b/sources/scalac/typechecker/Infer.java @@ -958,7 +958,9 @@ public class Infer implements Modifiers, Kinds { * If several applicable alternatives exist, take the * most specialized one, or throw an error if no * most specialized applicable alternative exists. - * If no alternative matches, leave `tree' unchanged. + * If no alternative matches, leave `tree' unchanged, + * try to select method with pt = AnyType. + * If pt is AnyType, leave tree unchanged. */ public void methodAlternative(Tree tree, Symbol[] alts, Type[] alttypes, Type[] argtypes, Type pt) @@ -988,6 +990,8 @@ public class Infer implements Modifiers, Kinds { } } tree.setSymbol(alts[best]).setType(alttypes[best]); + } else if (pt != Type.AnyType) { + methodAlternative(tree, alts, alttypes, argtypes, Type.AnyType); } } |