请在2024年 Clojure 状态调查中分享您的想法!

欢迎!请参阅关于页面以了解更多关于此如何工作的信息。

0
ClojureScript

如果你有像以下这样的代码

(let [^string x 3] )

我们通常会优先选择类型提示而不是推断的类型。但在我们推断了一个类型且该类型与类型提示不一致的情况下,发出诊断可能是有用的。

如果推断的类型是提示的超集,那么我们不应该发出警告。例如,如果我们推断任意类型,则不应发出警告。另外,如果我们推断例如 1. } } } 但我们有提示 {{string}},我们可以采取开发者实际上是说 {{clj-nil}} 不会发生的立场。

但是,另一方面,如果我们推断 {{number}} 并有一个 {{string}} 提示,那么明显出了问题。

1 答案

0
参考:https://clojure.atlassian.net/browse/CLJS-2902 (由 mfikes 报告)
...