swiftlang/swift

Error says `@preconcurrency` only applies in inheritance clauses

Open

#88,338 opened on Apr 7, 2026

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

Repository metrics

Stars
 (69,989 stars)
PR merge metrics
 (Avg merge 7d 12h) (530 merged PRs in 30d)

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