Skip to content

fix(exo): do NOT mutate behaviorMethods argument#1642

Merged
erights merged 1 commit intomasterfrom
markm-1641-do-not-mutate-behavior-argument
Jun 17, 2023
Merged

fix(exo): do NOT mutate behaviorMethods argument#1642
erights merged 1 commit intomasterfrom
markm-1641-do-not-mutate-behavior-argument

Conversation

@erights
Copy link
Copy Markdown
Contributor

@erights erights commented Jun 15, 2023

Fixes #1641

OMG I was mutating a passed in argument that originated from a normal program outside the package. Thus, I was inadvertently mutating that program's state that was not supposed to be mutated. When they then reused that argument in another call, they were passing in the mutated one.

@erights erights self-assigned this Jun 15, 2023
@erights erights requested review from gibson042 and kriskowal June 15, 2023 06:17
@erights erights force-pushed the markm-1641-do-not-mutate-behavior-argument branch from df99bfa to 343d4d0 Compare June 15, 2023 06:27
@erights erights force-pushed the markm-1641-do-not-mutate-behavior-argument branch 3 times, most recently from 00c807e to 73d1471 Compare June 15, 2023 22:48
@kriskowal
Copy link
Copy Markdown
Member

Aside, Goblins actors can express both function call behavior and method invocation behavior. Can an Exo class or Far reference fully emulate such a Goblins actor?

@erights erights force-pushed the markm-1641-do-not-mutate-behavior-argument branch from 73d1471 to 2468362 Compare June 16, 2023 21:47
@erights
Copy link
Copy Markdown
Contributor Author

erights commented Jun 16, 2023

Aside, Goblins actors can express both function call behavior and method invocation behavior. Can an Exo class or Far reference fully emulate such a Goblins actor?

Exo class or instance --- no. Exos do not yet support far functions.

Far --- support for far functions.

But whether the Far support for far functions is adequate to fully emulate a Goblins actor --- I don't know.

@erights erights force-pushed the markm-1641-do-not-mutate-behavior-argument branch from 2468362 to 43f89ef Compare June 17, 2023 00:29
@erights erights merged commit 03f5d0a into master Jun 17, 2023
@erights erights deleted the markm-1641-do-not-mutate-behavior-argument branch June 17, 2023 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

defendProperty was mutating behaviorMethods argument

2 participants