X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Falien-type.lisp;h=5aed5cd2cf981d859ffc39c45c5f7bc8b58a61aa;hb=a22dd643fb599880f4c0856e1a85bffe4358aea8;hp=b76b3e9c11b9f5d9cdedb42bf2b187f72b9e545a;hpb=11b8fcf55c80cb2686fb49663fa4d96f9b152ce4;p=sbcl.git diff --git a/src/code/alien-type.lisp b/src/code/alien-type.lisp index b76b3e9..5aed5cd 100644 --- a/src/code/alien-type.lisp +++ b/src/code/alien-type.lisp @@ -26,6 +26,9 @@ (!define-type-class alien) +(!define-type-method (alien :negate) (type) + (make-negation-type :type type)) + (!define-type-method (alien :unparse) (type) `(alien ,(unparse-alien-type (alien-type-type-alien-type type)))) @@ -60,7 +63,7 @@ (if alien-type (let ((lisp-rep-type (compute-lisp-rep-type alien-type))) (if lisp-rep-type - (specifier-type lisp-rep-type) + (single-value-specifier-type lisp-rep-type) (%make-alien-type-type alien-type))) *universal-type*))