Notes on implementing concise calls to constructors with type parameters
forax at univ-mlv.fr
Fri May 15 13:40:33 PDT 2009
Alex Buckley a écrit :
> Rémi Forax wrote:
>>> Is it conceivable to drop raw types and hence migration
>>> compatibility? Sure. Is it an upgrade in behavior? Let's ask people
>>> still on 1.4 who use raw types. They may have something to say about
>>> the increased costs you'd impose on them when they try to upgrade
>>> their codebase.
>> First we talk about source compatibility, not binary one.
> I'm not sure why you're bringing in binary compatibility.
Just because I think that source compatibility is less important that
Or even worse, I think that sometime you have to create
incompatibilities to teach user
to not do things that are harmful.
> Someone on 1.4 (yes, or 1.3.1, very good) who wants to migrate to 1.7
> for source feature X will be displeased to discover they can only get
> as far as -source 1.6 because Remi cut an infinite number of raw types
> out of 1.7.
So they will update all the files that use raw types, discover some
hidden bugs during the process,
and if they have dependencies with a pre-1.5 libraries that was not
they will create clean bridge code and only this code will be compiled
with -source 1.6
In the same time, Remi will be able to remove a two hours course that
answer the following questions :
what is a raw type ?
where to use raw type ?
where to not use them ?
what are the rules when you inherits from a raw type,
overrides a method that use raw type ?
what is rare type ?
why getClass()/.class produce raw type ?
And replace it by a 10 minutes explanation on how to call legacy codes.
I just hate raw types because they are hard to understand for average
>> Third, Are you one of the guys that decide that if you want to use
>> you need to change the layout of the directories of the sources ?
> FUD. You don't NEED to change the layout.
Sorry, the FUD wasn't intentional.
I am happy that this is not a requirement.
> There is a particular scenario involving simultaneous compilation of
> multiple source modules that cannot reasonably be achieved without a
> new layout. But it's off-topic.
More information about the coin-dev