mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Fix <rdar://problem/16812341> QoI: Poor error message when providing a default value for a subscript parameter by emitting a more specific diagnostic about the cases that aren't allowed.
16 lines
908 B
Swift
16 lines
908 B
Swift
// RUN: %target-parse-verify-swift
|
|
|
|
func simple_default_args() {
|
|
// <rdar://problem/22753605> QoI: bad diagnostic when closure has default argument
|
|
let _ : (Int) -> Int = {(x : Int = 1) in x+1} // expected-error{{default arguments are not allowed in closures}} {{36-39=}}
|
|
let _ : () -> Int = {(x : Int = 1) in x+1} // expected-error{{cannot convert value of type '(Int) -> Int' to specified type '() -> Int'}} expected-error {{default arguments are not allowed in closures}} {{33-36=}}
|
|
let _ : () -> Int = {(x : Int) in x+1} // expected-error{{cannot convert value of type '(Int) -> Int' to specified type '() -> Int'}}
|
|
}
|
|
|
|
func func_default_args() {
|
|
func has_default_args(x x: Int = 1) -> Int { return x+1 }
|
|
var _ : (Int) -> Int = has_default_args // okay
|
|
var _ : () -> Int = has_default_args // expected-error{{cannot convert value of type '(x: Int) -> Int' to specified type '() -> Int'}}
|
|
}
|
|
|