New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raw type used in argument position is not existentially quantified #4712
Comments
Imported From: https://issues.scala-lang.org/browse/SI-4712?orig=1 |
@adriaanm said (edited on Jun 20, 2011 1:03:56 PM UTC): Concretely, cooking is a no-op for the info of Debug info for illustration:
|
@adriaanm said (edited on Jun 20, 2011 1:40:09 PM UTC): } else if (!context.undetparams.isEmpty && !inPolyMode(mode)) { // (9)
assert(!inHKMode(mode)) //@M
instantiate(tree, mode, pt)
+ } else if (tree.hasSymbol && tree.symbol.isJavaDefined && (tree.tpe.isInstanceOf[MethodType] || tree.tpe.isInstanceOf[OverloadedType])) {
+ // may need to re-cook now that type parameters have been instantiated to possibly raw type arguments
+ tree setType rawToExistential(tree.tpe)
} else if (tree.tpe <:< pt) {
tree |
@odersky said: |
@adriaanm said: |
@odersky said (edited on Jun 21, 2011 10:12:20 AM UTC): |
Notice the required type 'java.lang.Class', which should be transformed to an existential type when seen from IDerivedInterface. The compiler does the correct thing for the method g, which is not inherited.
The text was updated successfully, but these errors were encountered: