Skip to content

feat(minor): [sc-28167] move Transferable.swift protocols to DistributedABI module#124

Open
tayloraswift wants to merge 1 commit intomainfrom
feature/sc-28167/factor-distributedsystem-into-two-modules
Open

feat(minor): [sc-28167] move Transferable.swift protocols to DistributedABI module#124
tayloraswift wants to merge 1 commit intomainfrom
feature/sc-28167/factor-distributedsystem-into-two-modules

Conversation

@tayloraswift
Copy link

@tayloraswift tayloraswift commented Jan 13, 2026

Description

we can use @_exported to make this change transparent to clients

this module is set to -enable-library-evolution when built by itself, but this module only contains protocols so it shouldn’t affect users

even if we don’t end up vending DistributedABI as an xcframework, this would still be a beneficial architectural change in its own right

How Has This Been Tested?

Please describe the tests that you ran to verify your changes.

Minimal checklist:

  • I have performed a self-review of my own code
  • I have added DocC code-level documentation for any public interfaces exported by the package
  • I have added unit and/or integration tests that prove my fix is effective or that my feature works

@tayloraswift
Copy link
Author

lint failures almost certainly predate PR

@freef4ll freef4ll requested a review from ser-0xff January 14, 2026 10:32
@mr-swifter
Copy link
Contributor

Looking to history it was originally split similar to this, but then we merged this back for simplicity: https://github.com/ordo-one/package-distributed-system-conformance

One question although. If I do some 3rd party application and link distributed system (statically). I guess this change will change the way how I ship my app. Since before I get self sufficient binary, but now this dependency is built as separate library and should be shipped together with my app. Feels like major break. Do I miss something?

@tayloraswift
Copy link
Author

i believe (but am not 100% sure) that -enable-library-evolution is orthogonal to library type .dynamic, and will not by itself change how clients that depend on DistributedSystem are built

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants