<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 28, 2023 at 10:38 AM Eirik Bjørsnøs <<a href="mailto:eirbjo@gmail.com">eirbjo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 28, 2023 at 5:28 PM David Lloyd <<a href="mailto:david.lloyd@redhat.com" target="_blank">david.lloyd@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">I agree, I always thought that this was a bizarre thing to expose in a public API<span class="gmail_default"> so it being accidental does explain things</span>. But maybe the appropriate fix is even simpler now<span class="gmail_default"> in these modern times</span>: <span class="gmail_default">one could </span>remove the `implements` and <span class="gmail_default">add</span> a `static import` of `ZipConstants.*`, which <span class="gmail_default">at approximately one or two lines is a much more</span> minimal <span class="gmail_default">(and conflict-resistant, for those who care about backporting subsequent fixes of this class) change IMO.</span></div></div></div></blockquote><div><br></div><div>Thanks David!</div><div><br></div><div>Not entirely sure I understand what you suggest this as an alternative to. Removing "implements" and replacing that with static imports is surely where I would eventually see this going.</div></div></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I was "responding" to the (22-year-old?) suggested fix on the JIRA bug, perhaps unnecessarily; my apologies.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> But before we get there, I think we need to discuss the compatibility impact of such a change, and how to go about it with regards to the deprecation process etc.</div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Makes sense to me. FWIW (maybe not much) I think your analysis of the source vs binary compatibility impact is correct. Peeking at `java.util.zip.ZipConstants` with `javap` reveals that the fields do indeed have the expected `ConstantValue` attribute which seems to support your conclusion per JLS § 13.1 [1].</div></div><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">[1] <a href="https://docs.oracle.com/javase/specs/jls/se21/html/jls-13.html#jls-13.1">https://docs.oracle.com/javase/specs/jls/se21/html/jls-13.html#jls-13.1</a></div></div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">- DML • he/him<br></div></div></div>