You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A lambda given to stream().filter() that modifies the elements leaves the source list @NotModified #115
with TypeAnnotationWriteHelper.getPaths() returning its private final Deque<StructTypePathEntry> paths field.
Results: typeAnnWriteHelpers has unmodifiedParameter: 1 and structurallyUnmodifiedParameter: 1. The structural
claim may stand (the helpers are the list's elements, hidden content), but the deep one does not: every element for
which inGeneric holds has its paths deque popped. The modification happens in a lambda that Stream.filter
applies to the stream's elements, which are the list's elements, and it does not reach the parameter. ExprProcessor.writeTypeAnnotationBeforeType has the same shape and the same result for its list of helpers.
Fixed on devel (merge 00b2a40): dba2405 (a lazy stream stage's lambda that modifies the element modifies the stream's source, gate NOLAZYSTAGEELEMENT). Its first gate exposed an uncontracted PathMatcher.matches (TestKotlinPredicatesVsJava), now contracted @notmodified in maddi 26c0b6d63. Gate green on devel after the merge (laser1, 2026-11-13).
Activity
WIP #115: a lazy stream stage's lambda that modifies the element modi…
bnaudts commentedon Nov 13, 2026
Fixed on devel (merge 00b2a40): dba2405 (a lazy stream stage's lambda that modifies the element modifies the stream's source, gate NOLAZYSTAGEELEMENT). Its first gate exposed an uncontracted PathMatcher.matches (TestKotlinPredicatesVsJava), now contracted @notmodified in maddi 26c0b6d63. Gate green on devel after the merge (laser1, 2026-11-13).