编译后,SBCL 提示 (mod number 10)
在以下位置无法访问
(defun foo (number)
(cond
((> number 10) (mod number 10))
(t number)))
为什么会这样?
完整的编译器消息:
; in: DEFUN FOO
; (MOD NUMBER 10)
; --> LET IF AND IF IF PLUSP >
; ==>
; NUMBER
;
; note: deleting unreachable code
最佳答案
查看注释,很可能是 (mod number 10)
扩展为的代码的死代码消除。
在 SBCL 2.0.0 及更高版本上,我无法重现该警告。
又名编译器“错误”
关于common-lisp - 简单算术函数中无法访问的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64901097/