Hi all,
Thank you for the discussion in the previous pitch thread. I've learned a lot from your feedback and made several major revisions to the proposal, notably:
- Simplifying the
ActorSendable
requirement to being a marker protocol, eliminating the possibility of implicit deep copies. - Including a
ValueSemantic
marker protocol as part of the proposal (but I leave it to Dave and other experts to define exactly what that means). - Defining away the possibility of "expensive" synthesized cross-actor copies in the face of resilience boundaries and other advanced cases.
Many thanks to Doug and others who helped me understand that these simplification are possible without jeopardizing the core idea of the proposal: reject accidental transfers of invalid reference types, allow user extensibility for advanced cases, and allow marker types for compatibility with legacy reference types.
You can see the second revision of the proposal here.
I'd appreciate additional feedback and comments, thanks!
-Chris