Skip to content

Foundation: make -enable-library-evolution build #2892

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

Closed
wants to merge 1 commit into from

Conversation

compnerd
Copy link
Member

@compnerd compnerd commented Oct 4, 2020

When building Foundation with library evolution (resilience), we fail to
build due to RangeReference being internal and marked as
@usableFromInline but used in an @inlinable public context,
exposing the type. Additionally, the constructor was internal and
@inlinable which requires the constructor to be delegating.

Additionally, because Data.init(bytes:length:copy:deallocator) is used
in a public context, it leaks and results in an undefined reference to
the allocating initializer.

This allows building Foundation with library evolution, though exposes
some of the internal interfaces.

When building Foundation with library evolution (resilience), we fail to
build due to `RangeReference` being internal and marked as
`@usableFromInline` but used in an `@inlinable` `public` context,
exposing the type.  Additionally, the constructor was internal and
`@inlinable` which requires the constructor to be delegating.

Additionally, because `Data.init(bytes:length:copy:deallocator)` is used
in a public context, it leaks and results in an undefined reference to
the allocating initializer.

This allows building Foundation with library evolution, though exposes
some of the internal interfaces.
@parkera
Copy link
Contributor

parkera commented Jul 19, 2024

Closing older PRs after re-core of swift-corelibs-foundation on swift-foundation (#5001).

@parkera parkera closed this Jul 19, 2024
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.

2 participants