Avatar
「関数に渡されたクロージャが必ず呼ばれることをコンパイル時に保証できるようにする」っていうやつのプロポーザルを考えてるのですが、同じようなproposalって既に出てますっけ ↓ の場合だと、mustCalledがついたクロージャは必ず呼ばれなければならない func function(@autoclosure @mustCalled completion: () -> Void) { completion() } もし、関数内で別の関数のクロージャ中で呼ばれないといけないときは、その別の関数のクロージャがmustCalledならコンパイル通る func function1(@autoclosure @mustCalled completion: () -> Void) { function2 { completion() } } func function2(@autoclosure @mustCalled completion: () -> Void) { completion() } 的な(日本語怪しくてすいません)
8:33 AM
非同期が絡むやつのcompletionとかの呼び忘れ防止になりそうかなあっておもいまして (edited)