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
