Intelligent prompt issue of Swift

Originator:v.v1958
Number:rdar://49843572 Date Originated:April 12 2019, 3:50 PM
Status: Resolved:
Product:Xcode Product Version:10.2
Classification: Reproducible:Always
 
Summary:
There always has tips issue when I typing in variableness's initialization close and use  another close inside, it display <<error type>> in the inside close when I typing variableness, even the bulid system already finish all job and can show warning about it type  

Steps to Reproduce:
create a variableness and initialize it with a close like this(here use a third party framework: snapkit):
	lazy var imageView: UIImageView = {
		let view = UIImageView()
		addSubview(view)
		view.snp.makeConstraints { (make) in
			make.width.equalTo(10) 
		}
		return view
	}()

Expected Results:
in the close of view.snp.makeConstraints,"make" can be prompted rightly , and it's property "width" can be prompted, and the "equalTo" too.

Actual Results:
"make" is prompted "<<error type>>" in Xcode 10.1, or prompted nothing in Xcode 10.2, and "width", "equalTo" never be prompted.

and also I try to bring a configurator to UIResponder:
protocol ViewConfigProtocol {}
extension ViewConfigProtocol where Self: UIResponder {
	func config(_ config: ((Self) -> Void)) -> Self {
		config(self)
		return self
	}
}
extension UIResponder: ViewConfigProtocol { }

so I can initialize a variableness like this: 
	lazy var shareImageContentView = UIScrollView().config { (view) in
		view.alpha
	}
However it does't work either, the "view" is  prompted wrongly and "alpha" never be prompted.
Interestingly, the build system can show tips "Expression of type 'CGFloat' is unused" rightly

By the way, this legacy bug already existed when I use Swift 2 years ago. And Objective-C basically has  similar  issue witch still did't been fixed all these years....

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!