Skip to content

yume190/Migration

Repository files navigation

Swift Migration(POC)


Swift Migration Guide

Caution

Don't use XCode 15.4 or must test UsrTests/testUsr success first

Currently, only Add Explicit Sendable is allowed.

Sendable, Sendable 中文


Install

brew install mint
mint install yume190/Migration

Usage

migration \
    --module "SCHEME NAME" \
    --file Sample.xcworkspace

migration \
    --module "SCHEME NAME" \
    --file Sample.xcodeproj

# spm
migration \
    --module TARGET_NAME \
    --file .

# file
migration \
    --sdk macosx \
    --file xxx.swift

TODOS

  • Add Explicit Sendable
    • Commom
      • Check all propery is let
      • Check all propery is Sendable
      • Exceptions
        • @MainActor var
        • nonisolated(unsafe) var
    • Add Sendable to struct
    • Add Sendable to class
      • Add final to class
        • open class can't final
        • Check class no child class
      • Check class not NSObject
    • Add Sendable to enum
  • Add @MainActor
    • find caller
    • find exist @MainActor structure
    • find exist @MainActor instance property
    • find use @MainActor instance property
    • find use @MainActor call function
  • sending?
  • @retroactive?

Not Support

  • deinit
  • objc

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published