swiftlang/swift
Voir sur GitHubMisleading error about `nonisolated` not being applicable to mutable stored properties
Open
#88 709 ouverte le 28 avr. 2026
actor isolationcompilerconcurrencydiagnostics qualitygood first issueswift 6.3type checker
Métriques du dépôt
- Stars
- (69 989 stars)
- Métriques de merge PR
- (Merge moyen 7j 6h) (556 PRs mergées en 30 j)
Description
Description
No response
Reproduction
@MainActor
final class C {
nonisolated var c = 0
}
actor A {
nonisolated var a = 0
}
@MainActor
struct S {
nonisolated var s = 0
}
<source>:3:3: error: 'nonisolated' cannot be applied to mutable stored properties
1 | @MainActor
2 | final class C {
3 | nonisolated var c = 0
| | `- note: convert 'c' to a 'let' constant or consider declaring it 'nonisolated(unsafe)' if manually managing concurrency safety
| `- error: 'nonisolated' cannot be applied to mutable stored properties
4 | }
5 | actor A {
<source>:6:3: error: 'nonisolated' cannot be applied to mutable stored properties
4 | }
5 | actor A {
6 | nonisolated var a = 0
| | `- note: convert 'a' to a 'let' constant or consider declaring it 'nonisolated(unsafe)' if manually managing concurrency safety
| `- error: 'nonisolated' cannot be applied to mutable stored properties
7 | }
8 | @MainActor
Expected behavior
'nonisolated' cannot be applied to mutable stored properties
Yes it can — see s. The message needs to be more specific.
Environment
Swift version 6.4-dev (f4c024ed196fc27)
Additional information
No response