Skip to content

Missing diagnostic for invalid operator usage in for loop #79999

@alimyuz

Description

@alimyuz

Description

Passing an operator (-, +, *, /) as a function argument inside a for loop fails to produce a proper diagnostic. Outside of a for loop, the correct diagnostic is produced.
This is reproducible with any type of parameter, not only numerical.

Reproduction

func example(_ a: Int) -> [Int] { [] } // 'a' can be any type: String, Data, custom type, etc. let _ = foo(-) // Type of expression is ambiguous without a type annotation (expected diagnostic) for _ in foo(-) { // Failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs) } 

Expected behavior

Build error with appropriate diagnostic.

Environment

swift-driver version: 1.115.1 Apple Swift version 6.0.3 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
Target: arm64-apple-macosx15.0
Xcode 16.2 (16C5032a)

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.triage neededThis issue needs more specific labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions