尽管有提示类型,以下代码也给了我一个反射警告。
(set! *warn-on-reflection* true)
(IllegalArgumentException.
^String (with-out-str (print "hi")))
警告:
Reflection warning ...
call to java.lang.IllegalArgumentException ctor
can't be resolved.
该代码是从一个更复杂的例子中提取并简化的,该例子中漂亮的打印了一个任意对象with-out-str
。我正在使用Clojure 1.10.0。
这是CLJ-865。它不特定于with-out-str
:在任何形式的宏调用中添加类型提示通常会丢弃它。典型的解决方法是您的答案:定义一个本地保存值,人为地引入非宏形式进行注释。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句