EXC_BAD_INSTRUCTION 等待 Task.sleep

aci*_*lio 2 swift swiftui

尝试使用由参与者支持的以下 ObservableObject 并在等待 Task.sleep 时收到错误

EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

有任何想法吗?

class Reader: ObservableObject {
    static let shared = Reader(actor: .init())

    let actor: TestActor
    @Published var val = 0

    @MainActor func read() async {
        val = await actor.val
    }

    func increment() async -> Bool {
        await actor.increment()
        await read()
        return true
    }

    init(actor: TestActor) {
        self.actor = actor
    }
}

actor TestActor {

    var val = 0

    func increment() async {
        let oldval = val
        await Task.sleep(2000000000) // Error here!
        val += 1
    }

}
Run Code Online (Sandbox Code Playgroud)

mat*_*att 5

除了很小的值之外,Task.sleep 都会崩溃。这东西很新;你看到的是一个测试版,几乎是一个阿尔法版。它充满了错误。这是一。