<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 gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Jan 16, 2025 at 1:07 PM Alex Buckley <<a href="mailto:alex.buckley@oracle.com">alex.buckley@oracle.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">On 1/13/2025 9:37 AM, Alan Bateman wrote:<br>
> `requires static` was added to support annotations that aren't needed at <br>
> runtime, and also some configuration cases. I don't think support for <br>
> optional service interfaces has been ruled out but it's more complex to <br>
> specify that it might appear.<br>
<br>
Alan and I have been discussing resolution of services that were present <br>
at compile time but are missing at run time. See the comments in <br>
<a href="https://bugs.openjdk.org/browse/JDK-8299504" rel="noreferrer" target="_blank">https://bugs.openjdk.org/browse/JDK-8299504</a> (bearing in mind that the <br>
Java Bug System now shows newest-first by default).<br>
<br>
As Alan says, this is a complex matter because of `transitive` <br>
dependencies and qualified exports. It reasons about relationships <br>
between entities declared in the program (modules) in a way that is more <br>
reminiscent of language design than library design. We think we've got <br>
the shape of things nailed down, but continue to polish it.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">It's too bad there aren't modifiers for uses/provides which could have been used to (for example) mark them as `static` or something like that. But, it's looking good so far IMO. A change along the lines of what's proposed should work for any use case I can think up.</div><br></div></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">- DML • he/him<br></div></div></div>