swiftlang/swift

[SR-1557] Unused function-typed return values result in a hard error

Open

#44,166 opened on May 18, 2016

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Swift (10,719 forks)batch import
bugcompilergood first issue

Repository metrics

Stars
 (69,989 stars)
PR merge metrics
 (Avg merge 8d 17h) (510 merged PRs in 30d)

Description

Previous ID SR-1557
Radar None
Original Reporter H2CO3 (JIRA User)
Type Bug

OS X 10.10.5, swiftc version 2.1 (swiftlang-700.1.101.6 clang-700.1.76)

Votes 0
Component/s Compiler
Labels Bug, StarterBug
Assignee None
Priority Medium

md5: f02d43f7c7b9cce2527f9568acf6ac13

Issue Description:

If a function returns a function, and the return value of the former is unused, a compilation error occurs:

    public func foo(x: Int) -> () -> Int {
        return { x }
    }

    foo(42) // ignored return value errors out: "expression resolves to an unused function"

For consistency (and convenience of testing, where I found this problem), such unused return values should yield a warning only.

Contributor guide