Stuart's cool type system hack is hard for me to grok, but it seems alright to put into ConcurrentSkipListMap.java. We could add it to the current jsr166 integration.
*From: *Stuart Marks <stuart.ma...@oracle.com> *Date: *Thu, May 16, 2019 at 3:11 PM *To: *Martin Buchholz, David Holmes, Doug Lea, Langer, Christoph *Cc: *compiler-...@openjdk.java.net, core-libs-dev, net-dev On 5/14/19 9:16 PM, Martin Buchholz wrote: > >> > src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java > > Regarding the change in this particular file, I'd suggest the following: > > > diff -r 006dadb903ab -r 92e1fdce45e0 > src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java > --- > a/src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java > > Mon May 13 17:15:56 2019 -0700 > +++ > b/src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java > > Thu May 16 15:04:30 2019 -0700 > @@ -1712,9 +1712,7 @@ > Map<?,?> m = (Map<?,?>) o; > try { > Comparator<? super K> cmp = comparator; > - @SuppressWarnings("unchecked") > - Iterator<Map.Entry<?,?>> it = > - (Iterator<Map.Entry<?,?>>)m.entrySet().iterator(); > + Iterator<? extends Map.Entry<?,?>> it = > m.entrySet().iterator(); > if (m instanceof SortedMap && > ((SortedMap<?,?>)m).comparator() == cmp) { > Node<K,V> b, n; > > > > I have no idea if it will be accepted by the Eclipse IDE, but this seems > like a > cleaner change to me than introducing a raw type. > > *** > > Christoph, > > On the general issue of compilation differences between javac and the > Eclipse > IDE, have you raised a bug with them? > > s'marks >