On 06/09/2011 04:36 PM, Charles Oliver Nutter wrote:
I accept this analysis as written. I do however have a few questions/comments.

* This seems like it only affects cases where you have primitives butting up against a varargs Object..., correct? Only in those cases do you have a method invocation conversion from a type that does not subclass Object. Edge-casey.

* It is unexpected, albeit correct according to specification. A few reasons:

** The int => Object conversion is via Integer, which *is* a subtype relationship. I know the spec does not provide for reevaluating specificity after a method invocation conversion...but perhaps it should.

int => Object is a not a subtyping conversion, remember that
subtype as defined by Liskov is a relation between objects.
int is not an object type in Java.


** int *is* more specific than Object from a programmer/development perspective. Another way of looking at specificity would be "fewer combinations of argument types apply". That's clearly the case here.

more specific means is the a most specific subtype, so int is not more specific than Object here because there is not subtype/supertype relation between int and Object in Java.


I suspect I won't be the only one to run into this new behavior. As it stands, the methods in question in JRuby no longer need the varargs forms, so I'm removing them.

- Charlie

cheers,
Rémi

--
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en.

Reply via email to