Files
swift-mirror/validation-test/compiler_crashers_2_fixed/0193-sr10256.swift
Slava Pestov 39a22f3d6a AST: Remove ParameterTypeFlags::Escaping
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>.
2019-04-15 00:25:03 -04:00

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 }