mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This would otherwise result in false positives, since if the old parser skipping a body with errors would cause a verification failure. Don't perform round trip validation either, since we'll presumbly still hit parsing the full file when not skipping bodies - there's no point running it twice. Resolves rdar://111032175.
18 lines
707 B
Swift
18 lines
707 B
Swift
// REQUIRES: swift_swift_parser
|
|
// REQUIRES: asserts
|
|
|
|
// Checks that skipping function bodies doesn't cause the new parser validation
|
|
// to fail. This can currently be the case because the new parser doesn't
|
|
// support skipping, causing validation fail as it generates diagnostics when
|
|
// the C++ parser would not.
|
|
|
|
// RUN: %target-typecheck-verify-swift -enable-experimental-feature ParserValidation
|
|
// RUN: %target-swift-frontend -typecheck %s -enable-experimental-feature ParserValidation -experimental-skip-all-function-bodies
|
|
|
|
func bad() {
|
|
_ = [(Int) -> async throws Int]()
|
|
// expected-error@-1{{'throws' may only occur before '->'}}
|
|
// expected-error@-2{{'async' may only occur before '->'}}
|
|
}
|
|
|