Plan and validate mutations before applying them #41
Labels
No labels
bug
duplicate
enhancement/documentation
enhancement/feature
enhancement/organization
question
rejected
upstream
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
UserCurt/mpath#41
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
setandremovecurrently process input pointers one at a time. Targets are modified immediately as iterating through the pointers, mutating along the way. There are two issues with this:This issue proposes implementing mutation functions as two separate phases, a planning traversal phase followed by a mutation phase. In the planning phase, each target that would be modified will be queued up. In the mutation phase, the queue will be iterated through, and mutations will then be applied. This way, the validation that occurs during the planning phase will throw errors prior to any actual mutation.
In is suggested to address this issue after implementing the shared traversal engine in #40.
It may be helpful to consider intended behavior in issue #35 for groupings prior to implementation.
Completed by commit
a03e30b. This implemented commit modifiedresolveandsetto finish issue #40 while simultaneously tackling this issue #41.Note that mutations are performed in linear ordering. This may change in the future when working with terminal #42 and possibly also non-terminal #45 comma-separated list operations. Reason is because basically because
[A.B] = deal(...)"simultaneously" assigns each output ofA.Bso the ordering is required to be consecutive.