Concurrency Checking in Swift Packages (unsafeFlags)

Same here: .enableUpcomingFeature("StrictConcurrency") doesn't show any warnings for me, whereas .unsafeFlags(["-Xfrontend", "-warn-concurrency"]) or .unsafeFlags(["-Xfrontend", "-strict-concurrency=complete"]) does show warnings.

If I'm reading the compiler source code correctly, it cannot work because StrictConcurrency is not defined as an upcoming feature flag at all.

Here's the relevant code in Features.def:

  1. In the release/5.8 branch:

    UPCOMING_FEATURE(ConciseMagicFile, 274, 6)
    UPCOMING_FEATURE(ForwardTrailingClosures, 286, 6)
    UPCOMING_FEATURE(BareSlashRegexLiterals, 354, 6)
    UPCOMING_FEATURE(ExistentialAny, 335, 6)
    
  2. In the main branch (release/5.9 is identical):

    UPCOMING_FEATURE(ConciseMagicFile, 274, 6)
    UPCOMING_FEATURE(ForwardTrailingClosures, 286, 6)
    UPCOMING_FEATURE(BareSlashRegexLiterals, 354, 6)
    UPCOMING_FEATURE(ExistentialAny, 335, 6)
    UPCOMING_FEATURE(ImportObjcForwardDeclarations, 384, 6)
    

Besides StrictConcurrency, the other missing feature flag that's explicitly mentioned in SE-0362 is ImplicitOpenExistentials.

3 Likes