On Feb 25, 8:54 am, Reinier Zwitserloot <[email protected]> wrote:
> Okay, so, now, you're saying that the default for just about every
> library out there is going to be java[7,8), whereas before you said
> that updating list is no problem, because most modules will say they
> want the list from java[7,*].

Unmodularized code - which claims no module membership and gives no
explicit dependencies - implicitly depends on JDK 6. Assuming no
breaking changes in JDK 7, such code can be bound when running on a 7
VM to JDK 7.*. 7.* is also known as known as [7,8).

Modularized code - which gives explicit dependencies - can be split
into code which a) uses or b) reuses "core" APIs like List. I said "A
module using or reusing List should ask for >=7 or 7.* respectively".
In fact, it's still pretty naughty to rely on >=7 even if you simply
refer to List, since methods might be removed or made less accessible
(binary incompatible change), but I can imagine ways the risk might be
mitigated by the provider, e.g. JDK 8.

> You're not making any sense.

What we're mainly discussing is migration compatibility - how an
unversioned library uses or reuses versioned libraries. Back in JDK
1.5, the most subtle part of generics was migration compatibility -
how a non-generic client uses or reuses generic types. You are keeping
me honest by posing your questions, keep them coming :-)

Alex
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" 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/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to