Skip to content

Swift 6.0 Blockers #933

@ADKaster

Description

@ADKaster

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

Swift issues:

CMake issues:

Ladybird issues:

Nice-to-have:

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? https://forums.swift.org/t/ladybird-browser-and-swift-garbage-collection/76084

Metadata

Metadata

Assignees

No one assigned

    Labels

    swifttask listThis issue contains a list of tasks.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions