forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathasync.swift
23 lines (18 loc) · 1.08 KB
/
async.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// RUN: %empty-directory(%t)
// RUN: %empty-directory(%t-scratch)
// RUN: %target-swift-frontend -emit-module -o %t-scratch/def_async~partial.swiftmodule -primary-file %S/Inputs/def_async.swift -module-name def_async -disable-availability-checking
// RUN: %target-swift-frontend -merge-modules -emit-module -parse-as-library -enable-testing %t-scratch/def_async~partial.swiftmodule -module-name def_async -o %t/def_async.swiftmodule -disable-availability-checking
// RUN: %target-swift-frontend -typecheck -I%t -verify %s -verify-ignore-unknown -disable-availability-checking
// REQUIRES: concurrency
import def_async
func testDoSomethingBig() {
let _: () -> Int = doSomethingBig // expected-error{{invalid conversion from 'async' function of type '() async -> Int' to synchronous function type '() -> Int'}}
}
// Verify serialization of async let _ = <expression> pattern
func testSerializedAsyncLet() async {
await doSerializedAsyncLet()
}
// Verify serialization of async let _ : <type> = <expression> pattern
func testSerializedAsyncLetTyped() async {
await doSerializedAsyncLetTyped()
}