2
我正在對顯示新方法的庫進行更改,但它僅適用於特定體系結構。例如,如果從ARM程序集調用它,我想要一個編譯時錯誤,指示您使用有條件的編譯器來排除該調用。有什麼辦法可以做到這一點?像下面這樣:如何使用自定義消息強制執行Swift編譯器錯誤
public func x86Only() {
#if arch(x86_64)
// Do something here
#else
compiler_fail("x86Only() can only be called from x86_64 architecture")
#end
}
是否有點像(發明)以上compiler_fail()
爲雨燕存在嗎?
fatalError()
不能很好地工作,因爲它會觸發運行時斷言失敗,而不是在編譯時捕獲用戶錯誤。