swiftlang/swift

Incorrect fix-it for static member access on instance

Open

#85,157 opened on Oct 27, 2025

View on GitHub
 (2 comments) (0 reactions) (1 assignee)Swift (69,989 stars) (10,719 forks)batch import
compilerdiagnostics qualityfix-itsgenericsgood first issueopaque parameter typesstatic declarationstype checker

Description

Description

In the following example the compiler offers to replace p with some P, which is obviously not going to work. The same applies to any P.

Reproduction

protocol P {
  static var x: Int {get}
}
func foo(p: some P) -> Int {
  p.x
}

Expected behavior

We should probably make it wrap the base in type(of:) instead.

Environment

Swift version 6.3-dev (1ae8ef0004e7405)

Additional information

No response

Contributor guide