This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new e6b5caa 2026/05/14 12:35:05: Generated dev website from
groovy-website@5dec923
e6b5caa is described below
commit e6b5caabf6e107262976e31128ce97edc880535a
Author: jenkins <[email protected]>
AuthorDate: Thu May 14 12:35:06 2026 +0000
2026/05/14 12:35:05: Generated dev website from groovy-website@5dec923
---
search/search-index.json | 2 +-
wiki/GEP-13.html | 42 +++++++++++++++++-------------------------
2 files changed, 18 insertions(+), 26 deletions(-)
diff --git a/search/search-index.json b/search/search-index.json
index 5af3119..0c16049 100644
--- a/search/search-index.json
+++ b/search/search-index.json
@@ -758,7 +758,7 @@
{
"id": "wiki/GEP-13.html",
"title": "The Apache Groovy programming language - Developer docs -
GEP-13",
- "content": "The Apache Groovy programming language - Developer docs -
GEP-13 Socialize Discuss on the mailing list Groovy on X Groovy on Bluesky
Groovy on Mastodon Groovy on LinkedIn Events and conferences Source code on
GitHub Report issues in Jira Stack Overflow questions Slack Community You are
using an outdated browser. Please upgrade your browser to improve your
experience. Apache Groovy™ Learn Documentation Download Support
Contribute Ecosystem Blog posts Socialize GE [...]
+ "content": "The Apache Groovy programming language - Developer docs -
GEP-13 Socialize Discuss on the mailing list Groovy on X Groovy on Bluesky
Groovy on Mastodon Groovy on LinkedIn Events and conferences Source code on
GitHub Report issues in Jira Stack Overflow questions Slack Community You are
using an outdated browser. Please upgrade your browser to improve your
experience. Apache Groovy™ Learn Documentation Download Support
Contribute Ecosystem Blog posts Socialize GE [...]
"url": "wiki/GEP-13.html",
"site": "dev"
},
diff --git a/wiki/GEP-13.html b/wiki/GEP-13.html
index 15462fe..e412687 100644
--- a/wiki/GEP-13.html
+++ b/wiki/GEP-13.html
@@ -347,33 +347,16 @@ identifiers continues to compile.</p>
</div>
</div>
<div class="sect2">
-<h3 id="_anonymous_classes_traits_and_proxy_paths">Anonymous classes, traits,
and proxy paths</h3>
+<h3 id="_subtype_creating_paths">Subtype-creating paths</h3>
<div class="paragraph">
<p>The set of types extending or implementing a sealed type is enumerated
-in <code>permits</code>; no other type may do so. Specifically prohibited:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>anonymous inner classes targeting a sealed type that does not permit
-the enclosing type;</p>
-</li>
-<li>
-<p>traits not in the <code>permits</code> set;</p>
-</li>
-<li>
-<p>coercion-generated proxies (<code>x as Bar</code> where <code>Bar</code> is
sealed and the
-source type is not permitted);</p>
-</li>
-<li>
-<p>delegate-generated subclasses (<code>@Delegate</code> targeting a sealed
type
-from a non-permitted enclosing class).</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>These extension paths are checked at compile time; runtime proxy
-generation paths perform the same check at proxy-construction time.</p>
+in <code>permits</code>; no other type may do so. Any path that would otherwise
+produce a subtype of a sealed type must honour the <code>permits</code>
contract
+— whether the path is an explicit declaration, anonymous-class
+generation, trait composition, <code>as</code> coercion,
<code>@Delegate</code>, or runtime
+proxy construction. How each path complies (compile-time rejection,
+silent omission, runtime check) is left to the compiler and the
+relevant AST transform.</p>
</div>
</div>
<div class="sect2">
@@ -598,6 +581,15 @@ decision and is not constrained by this GEP.</p>
<td class="tableblock halign-left valign-top"><p class="tableblock">Same
reasoning; cross-module sealed hierarchies are occasionally
useful and a hard JPMS check would block them.</p></td>
</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Synthesized subtypes in inferred
<code>permits</code></p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Deferred</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">When
<code>permits</code> is inferred from the compilation unit, only
+ source-declared subtypes are currently considered. Whether to relax
+ this so that subtypes synthesized by AST transformations (e.g.
+ <code>@Delegate</code>) also contribute to the inferred set is a future
+ decision.</p></td>
+</tr>
</tbody>
</table>
<div class="paragraph">