swiftlang/swift

Diagnostic for `static nonmutating` should be improved

Open

#77,835 opened on Nov 25, 2024

View on GitHub
 (11 comments) (0 reactions) (1 assignee)Swift (10,719 forks)batch import
bugcompilerdeclarationsdiagnostics qualitygood first issuemutatingstatic declarationsswift 6.1type checker

Repository metrics

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

Description

Description

No response

Reproduction

struct S {
  nonmutating static func foo() {}
}
430 | 
431 | struct S {
432 |   nonmutating static func foo() {}
    |   `- error: static functions must not be declared mutating [static_functions_not_mutating]
433 | }
434 | 

Expected behavior

An example approach to improving this error message is to list both modifiers.

We can also tailor it to call out the modifier in question as it currently does in the case of mutating. The drawback of this option is that it conveys less information about language grammar.s

Environment

Swift version 6.1-dev (26e888e45e6ede4)

Additional information

No response

Contributor guide