我原本预计以下两个Java交互调用都会避免反射,但只有涉及到f1的第一个做到了。
`
Clojure 1.6.0
user=> (set! warn-on-reflection true)
true
user=> (defn f1 ^java.util.LinkedList [coll] (java.util.LinkedList. coll))
'user/f1
user=> (def f2 (fn ^java.util.LinkedList [coll] (java.util.LinkedList. coll)))
'user/f2
user=> (.size (f1 [2 3 4]))
3
user=> (.size (f2 [2 3 4]))
反射警告,NO_SOURCE_PATH:5:1 - 无法解析到size字段。
3
`
不清楚这是否与CLJ-1232有关,但是是在测试该问题的变体时发现的。