评论文本由:alexmiller 提供
补丁格式看起来更好。从更远的距离来看这个票,afaict Clojure 将已经使用正确的 byteocode 来实现 checked 或 unchecked,所以这甚至可能不是必须的?
如果我不使用补丁进行编译(
(defn foo-div ^long [^long a ^long b] (quot a b))
那么这个 fn 的字节码是
`
public final long invokePrim(long, long);
Code:
0: lload_1
1: lload_3
2: ldiv
3: lreturn
`
类似地,两个 longs 的 quot 产生相同的代码,但带有 lrem。我认为补丁对生成的字节码没有净效应?