alex-gutev / cl-form-types

Library for determining the types of Common Lisp forms based on information stored in the environment.
MIT License
19 stars 1 forks source link

walker should not replace sb-kernel:the* with cl:the #4

Closed digikar99 closed 2 years ago

digikar99 commented 3 years ago

https://github.com/alex-gutev/cl-form-types/blob/0e2ba279f99264c3e20f78ee49d9764f47a19de8/src/walker.lisp#L583-L588

Basically, sb-kernel:the* allows for additional options so that (sb-kernel:the* (fixnum :use-annotations t) 5) is valid while (cl:the (fixnum :use-annotations t) 5) is not.

EDIT: Or, again, I'm not sure if this should be handled here or within polymorphic-functions::macroexpand-all

EDIT-2: This holds:

CL-USER> (macroexpand-1 `(sb-kernel:the* (fixnum :use-annotations t) a))
(THE FIXNUM A)
T
alex-gutev commented 3 years ago

Fixed in the latest commit. There was also a similar issue with sb-ext:truly-the.