mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Escapingness is a property of the type of a value, not a property of a function parameter. Having it as a separate parameter flag just meant one more piece of state that could get out of sync and cause weird problems. Instead, always look at the noescape bit in a function type as the canonical source of truth. This does mean that '@escaping' is now printed in a few diagnostics where it was not printed before; we can investigate these as separate issues, but it is correct to print it there because the function types in question are, in fact, escaping. Fixes <https://bugs.swift.org/browse/SR-10256>, <rdar://problem/49522774>.
6 lines
163 B
Swift
6 lines
163 B
Swift
// RUN: %target-swift-frontend -emit-module-path /dev/null %s
|
|
|
|
func foo<T>(_: (T) -> ()) -> T { fatalError() }
|
|
|
|
let y = foo { (x: @escaping () -> (), y: Int) in }
|