<div dir="auto"><div dir="auto">I support this change, thank you! </div><div dir="auto"><br></div><div dir="auto">Tagir</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 25, 2024, 11:30 Gavin Bierman <<a href="mailto:gavin.bierman@oracle.com" target="_blank" rel="noreferrer">gavin.bierman@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear all,<br>
<br>
People playing with JEP 476 - Module Import Declarations - have been surprised when importing an aggregator module such as `<a href="http://java.se" rel="noreferrer noreferrer noreferrer" target="_blank">java.se</a>`, that they also needed to `import module java.base`. This is because the `<a href="http://java.se" rel="noreferrer noreferrer noreferrer" target="_blank">java.se</a>` module which, as an aggregator module, consists of only `requires transitive` directives, does not contain the directive `requires transitive java.base`. Currently Java forbids any module declaring a transitive dependence on the `java.base` module.<br>
<br>
This restriction was sensible in the original module system design as all modules have an implicit dependence on `java.base`, and so such a directive was pointless. But with the module import feature where module declarations are used to derive a set of packages to be imported, this directive is useful and so should be allowed.<br>
<br>
We propose in the next preview of this feature to lift the language restriction on `requires transitive java.base`, and also to change the implementation of the `<a href="http://java.se" rel="noreferrer noreferrer noreferrer" target="_blank">java.se</a>` module so that it `requires transitive java.base`. (I have updated the draft JEP: <a href="https://openjdk.org/jeps/8335987" rel="noreferrer noreferrer noreferrer" target="_blank">https://openjdk.org/jeps/8335987</a>)<br>
<br>
Let me know your thoughts on this proposal either on this list, or direct to me.<br>
<br>
Thanks,<br>
Gavin <br>
<br>
</blockquote></div></div>