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
MODREACH: a modification of a call result that is part of a parameter leaves the parameter unmodified (#80's other half) #98
Under MODREACH (the CLI's default), a method that modifies a call's result is non-modifying for its parameter when that result is a field of the parameter, or of an object reachable from it. The default mode (fixpoint) calls the same parameter modified. This is the MODREACH side of #80: the link engine has carried the modification since #80, but the reachability pass re-derives the parameter from the statements and loses it.
Fixed on devel: 7d4fde5 (MODREACH: a call result that is part of a parameter carries its modification to it; ShadowModificationPass follows a local's real '≺' links to the container and projects a field's expression scope as a receiver chain; /Users/bnaudts/git/jfocus-devops/scripts/boxlock nice -n 10 gate NOSHADOWCALLRESULTFIELD). TestShadowCallResultFieldOfReceiver covers this issue's shape (parent.getWrapper().getH().list.clear()) with the loop, chain, call and local-call variants and a read-only control; passes on devel (2026-11-13).
Activity
MODREACH: a call result that is part of a parameter carries its modif…
bnaudts commentedon Nov 13, 2026
Fixed on devel: 7d4fde5 (MODREACH: a call result that is part of a parameter carries its modification to it; ShadowModificationPass follows a local's real '≺' links to the container and projects a field's expression scope as a receiver chain; /Users/bnaudts/git/jfocus-devops/scripts/boxlock nice -n 10 gate NOSHADOWCALLRESULTFIELD). TestShadowCallResultFieldOfReceiver covers this issue's shape (parent.getWrapper().getH().list.clear()) with the loop, chain, call and local-call variants and a read-only control; passes on devel (2026-11-13).