>
> The principle argument against issue #1 is that by utilizing generics within 
> the API, users may believe that issue #2 is dealt with.   That is, that by 
> using generics at all, we're implying that in all cases with generics we will 
> do the least surprising thing.   And thus, the argument is that we should 
> deal with these corner cases first or drop the issue altogether.
>

There's a funny thing here, which is the question of what counts as
'surprise' with Generics. You could argue, on the one hand, that
anyone who uses generics at all had better understand erasure, and
expect API that depends on Class<T> to collapse all generics to their
raw type. On the other hand, clearly many Java programmers do *not*
understand erasure, and get surprised when *anything* (River not the
first in line) exhibits the semi-inevitable results of the collision
between runtime introspection and erasure.

Reply via email to