欢迎!请查看关于页面了解更多关于此功能的信息。
在
(fn [& xs] (if xs 1 2))
不会为 {{xs}} 参数推断类型。如果我们将其推断为 {{seq}} 类型,则可以发出未检查的 {{if}}。 (这种情况涉及 {{str}} 变量参数的一种不必要的检查示例。)
虽然这种变化不会对性能产生重大影响,但它可以稍微减小生成的代码大小,并且可以帮助更好地诊断代码错误。
cljs.user=> (fn [& xs] (+ xs 1)) 警告:cljs.core/+, 所有参数必须是数字,在第 1 行收到 [seq 数数] 代。
由:mfikes 制作的评论
CLJS-2961.patch 通过了CI和Canary测试,并且在编译Coal Mine时未显示编译速度降低。
CLJS-2961.patch 已添加到Patch Tender (i)