out-of-line {MIN,MAX,<,>} fail to reject complex numbers in 1-argument call

Bug #1373702 reported by Douglas Katzman on 2014-09-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

A type error is signaled only if the function is compile-time known.

(dolist (f (list #'min #'max #'< #'<= #'> #'>=)) (print (funcall f #c(4 3))))
#C(4 3)
#C(4 3)
T
T
T
T

'arith.pure.lisp' has an assertion about it:

;;; ANSI says MIN and MAX should signal TYPE-ERROR if any argument
;;; isn't REAL. SBCL 0.7.7 didn't in the 1-arg case. (reported as a
;;; bug in CMU CL on #lisp IRC by lrasinen 2002-09-01)

Douglas Katzman (dougk) on 2014-10-15
Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers