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

Swift 6.0 Blockers #933

Open
4 of 13 tasks
ADKaster opened this issue Aug 2, 2024 · 15 comments
Open
4 of 13 tasks

Swift 6.0 Blockers #933

ADKaster opened this issue Aug 2, 2024 · 15 comments
Labels
swift task list This issue contains a list of tasks.

Comments

@ADKaster
Copy link
Member

ADKaster commented Aug 2, 2024

List of issues preventing moving forward on moving Swift 6.0 support out of an experimental state:

Swift issues:

CMake issues:

Ladybird issues:

Open questions:

  • Unclear how to pass view types or byte slices to swift without creating a copy.

    • We will want to be passing untrusted Strings, or c++-owned Spans of bytes to swift for it to crunch on and return some structured data. It's not clear how to inform swift about this without copying the data (at least) once.
    • I was not able to massage swift into interpreting our String and StringView types as 'CxxConvertibleToContainer' or 'CxxRandomAccessContainer' types. Likely because they are actually immutable?
  • Unclear how to convince Swift that our types are just as good as std:: ones.

    • AK::Optional
    • AK::HashTable/HashMap
    • AK::Time
    • more?
  • How to integrate with our garbage collector?

@ADKaster ADKaster added the task list This issue contains a list of tasks. label Aug 2, 2024
@ngortheone

This comment was marked as off-topic.

@ADKaster

This comment was marked as off-topic.

@ngortheone

This comment was marked as off-topic.

@AtkinsSJ

This comment was marked as off-topic.

@ADKaster

This comment was marked as off-topic.

@ngortheone

This comment was marked as off-topic.

@ADKaster

This comment was marked as off-topic.

@ADKaster ADKaster added the swift label Aug 18, 2024
@compnerd
Copy link
Contributor

I believe that the currently marked Swift issues are dealt with except for the bridging header disagreement. That might be something that can get addressed in the next cycle depending on if anyone is willing to pick up the necessary investigation.

@ADKaster
Copy link
Member Author

@compnerd I could use some help minimizing #1101 and #1102 into minimized swift-specific issues. At the moment they require using the real AK library.

@compnerd
Copy link
Contributor

Do they reproduce on Windows or require a macOS host?

@ADKaster
Copy link
Member Author

I have reproduced both issues on Linux and macOS.

@compnerd
Copy link
Contributor

Unfortunately, the only host that I currently have with a development toolchain setup is Windows.

@circl-lastname
Copy link
Contributor

Unfortunately, the only host that I currently have with a development toolchain setup is Windows.

You can use WSL2 to run Ladybird during this time

@ADKaster
Copy link
Member Author

I believe that the currently marked Swift issues are dealt with except for the bridging header disagreement.

Actually, the 6.x backport for the libstdcxx issue is currently only approved by Egor, not by the proper release managers. So I can't quite recommend folks test on linux with swiftly install 6.0-snapshot yet. swiftlang/swift#75971

@mruncreative

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
swift task list This issue contains a list of tasks.
Projects
None yet
Development

No branches or pull requests

6 participants