swiftlang/swift

[SR-3174] #selector shouldn't look at local variable names

Open

#45,762 建立於 2016年11月10日

在 GitHub 查看
 (13 留言) (0 反應) (0 負責人)Swift (69,989 star) (10,719 fork)batch import
bugcompilergood first issueparser

描述

Previous ID SR-3174
Radar None
Original Reporter @mattneub
Type Bug
Status In Progress
Resolution

Xcode Version 8.1 (8B62)

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

md5: 7beceac384430a3c78337307d536dc3e

Issue Description:

This doesn't compile:

func test() {
    let cancel = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(cancel))
}
func cancel() {}

The compiler complains that the name `cancel` is the same as the name of this local variable ("variable used within its own initial value"). But come now, surely the compiler should realize that there is not a chance in the world that I mean the local variable. A local variable can't even_be_ a selector.

Possibly related to https://bugs.swift.org/browse/SR-1038, I can't quite tell.

貢獻者指南