Allow passing integers as enum arguments.
Sat Feb 20 21:56:27 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Allow passing integers as enum arguments.
hunk ./src/overload-resolution.lisp 372
-(defun coerce-enum (enum)
+(defun coerce-from-enum (enum)
hunk ./src/overload-resolution.lisp 381
+(defun coerce-to-enum (number)
+ ;; we can skip the enum type because it is not checked at this
+ ;; point.
+ (make-instance 'enum :value number))
+
hunk ./src/overload-resolution.lisp 394
- (make-match 'promotion 'coerce-enum)))
+ (make-match 'promotion 'coerce-from-enum)))
hunk ./src/overload-resolution.lisp 396
- (make-match 'promotion 'coerce-enum)))
+ (make-match 'promotion 'coerce-from-enum)))
hunk ./src/overload-resolution.lisp 400
- (make-match 'promotion 'coerce-double-float)))))
+ (make-match 'promotion 'coerce-double-float)))
+ (12 (when (object.typep '(integer 0))
+ (make-match 'promotion 'coerce-to-enum)))))