[
https://issues.apache.org/jira/browse/GROOVY-11294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17812065#comment-17812065
]
ASF GitHub Bot commented on GROOVY-11294:
-----------------------------------------
PaintNinja commented on PR #2044:
URL: https://github.com/apache/groovy/pull/2044#issuecomment-1915649600
Groovy records already rely on the runtime library - the generated toList()
and toMap() use ScriptBytecodeAdapter#createList/createMap in Groovy 4 and
Groovy 5 snapshots (pre this PR).
As explained on the mailing list, using the runtime library allows for using
Java's faster immutable List.of()/Map.of() when possible without needing many
changes to the AST transform or bytecode gen.
After reading some of the feedback here, on the mailing list and jira, I
better understand the importance of preferring simpler approaches and will be
replying to the comments and re-evaluating my PR accordingly when I have time.
> Make generated toList() and toMap() methods on records return immutable
> collections
> -----------------------------------------------------------------------------------
>
> Key: GROOVY-11294
> URL: https://issues.apache.org/jira/browse/GROOVY-11294
> Project: Groovy
> Issue Type: Improvement
> Components: record
> Affects Versions: 5.x
> Reporter: Oscar N
> Priority: Minor
>
> With records having strong immutability guarantees, I believe it would make
> sense to also have the collections returned by `toList()` and `toMap()` be
> immutable as well.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)