Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Jun 17, 2023

Conversation

erights
Copy link
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 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
packages/exo/src/exo-tools.js Outdated Show resolved Hide resolved
@kriskowal
Copy link
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
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