Files
swift-mirror/test/expr/closure/default_args.swift
Chris Lattner f0377bee52 Fix <rdar://problem/22753605> QoI: bad diagnostic when closure has default argument
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.
2016-01-22 23:25:47 -08:00

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'}}
}