`
(ns field-test.core
(:import [java.util UUID]))
(defrecord UUIDWrapper [^UUID uuid])
(defn unwrap [^UUIDWrapper w]
(.-uuid w)) ; <- 无反射
(defn get-lower-bits [^UUIDWrapper w]
(-> w .-uuid .getLeastSignificantBits)) ; <- 反射 :(
`
编译器似乎拥有所需的所有信息,但 lein check 打印
反射警告,field_test/core.clj:10:3 - 无法解决对 java.lang.Object 的 getLeastSignificantBits 字段的引用。
(测试案例也在 https://github.com/MichaelBlume/field-test)