swiftlang/swift

Error says `@preconcurrency` only applies in inheritance clauses

Open

#88338 opened on Apr 7, 2026

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Swift (69,989 stars) (10,719 forks)batch import
@preconcurrencyTypeResolverattributescompilergood first issueswift 6.3type checker

Description

Description

This is not true. The attribute can also be used on declarations such as types, functions, and imports.

Reproduction

let _: @preconcurrency @MainActor() -> Void = {}
error: '@preconcurrency' only applies in inheritance clauses
  83 | 
  84 | let _: @preconcurrency @MainActor() -> Void = {}
     |        `- error: '@preconcurrency' only applies in inheritance clauses
  85 | 

Expected behavior

An accurate error message. It might be better to say that @preconcurrency cannot be used on a type attribute instead of enumerating all the valid positions.

Environment

Swift version 6.3-dev (fefcb257b5b5d32)

Additional information

No response

Contributor guide