This is an automated email from the ASF dual-hosted git repository.

paulk-asert pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-website.git

commit 490e3469b4e639c255747fb41b618c9ed4e00026
Author: Paul King <[email protected]>
AuthorDate: Fri Jul 10 23:12:48 2026 +1000

    GEP-27: note the DISABLED opt-out in the per-closure-control 
deferred-feature row
    
    Users influence packing only via target type, arrow syntax and 
@PackedClosures --
    including opting a scope out with mode = DISABLED -- but never select which 
packed
    representation (S1/S2/S3) is used.
---
 site/src/site/wiki/GEP-27.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/site/src/site/wiki/GEP-27.adoc b/site/src/site/wiki/GEP-27.adoc
index a11e7b0..a9398ee 100644
--- a/site/src/site/wiki/GEP-27.adoc
+++ b/site/src/site/wiki/GEP-27.adoc
@@ -640,7 +640,7 @@ on the shared backend proven in phases 1–2.
 |Serializable closure/lambda hoisting |Deferred |Kept on the class-based path 
initially; hoisting them requires carrying the deserialisation machinery to the 
enclosing class.
 |Object elision (S3) |Deferred (Groovy 7) |The most aggressive step; needs 
escape proof and, for iteration, callee knowledge.
 |Dynamic-mode automatic packing |Not planned |Cannot be proven sound without 
types; dynamic packing is opt-in via `@PackedClosures` only.
-|A user-visible switch between S1/S2/S3 per closure |Not planned |The compiler 
picks the lightest sound representation; users influence it only via target 
type, arrow syntax, and `@PackedClosures`.
+|A user-visible switch between S1/S2/S3 per closure |Not planned |The compiler 
picks the lightest sound representation; users influence it only via target 
type, arrow syntax, and `@PackedClosures` — including opting a scope out 
entirely with `@PackedClosures(mode = DISABLED)`, but never selecting *which* 
packed representation is used.
 |===
 
 == Compatibility and impact

Reply via email to