gpt4 book ai didi

swift - 将 *some* 警告视为 Swift 中的错误?

转载 作者:IT王子 更新时间:2023-10-29 05:31:56 26 4
gpt4 key购买 nike

想象一下 mark the following method deprecated在 Swift 中:

@available(*, deprecated=1.0)
func myFunc() {
// ...
}

还有我treat warnings as errors in Swift通过设置 OTHER_SWIFT_FLAGS="-warnings-as-errors"

如何让它将这些弃用通知显示为警告,同时仍将其余警告视为错误?


好像GCC had a pretty good solution对于这个问题:

-Werror // treat all warnings as errors
-Wno-error=<warning> // don't treat <warning> as error (e.g. -Wno-error=switch)
-Werror=<warning> // treat <warning> as error

所以如果这是 Objective-C,我可以简单地使用 -Werror -Wno-error=deprecated-declarations 并得到我想要的。

Swift 的等价物是什么?


我尝试将 -Wno-error=deprecated-declarations 添加到 OTHER_SWIFT_FLAGS,但它似乎不适用于 Swift,因此它不起作用。

最佳答案

这是不可能的。从 Swift 4 开始,Swift 编译器没有开关来启用/禁用特定警告或将特定警告升级为错误。

Swift 核心开发人员在 swift-evolution 邮件列表中多次表示不愿添加一连串的编译器标志。理由是他们希望保留 Swift 的单一“方言”,以便每个开发人员都使用相同的语言功能等。

这是否应该扩展到特定警告标志之类的东西当然值得商榷,但这是目前的官方立场。这些规则将来肯定有可能有所放松,但我不敢打赌。

编辑: As of Swift 4.2 , Swift 添加了一个 #warning 语法。

关于swift - 将 *some* 警告视为 Swift 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39235598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com