Forked from
cmucl / cmucl
Source project has a limited visibility.
-
ram authored
of type NIL, and downgraded the message from lossage to slime. Spiffed up ASSERT-DEFINITION-TYPE in various ways. It now takes various arguments which provide additional control. In particular, the REALLY-ASSERT argument allows this function to be used to give function redefinition notes without applying bogus type assertions. Also, fixed optional and keyword handling to take into account the possibility that the default might legally not be of the type in the function type. If the default is constant, we union its type in, otherwise we write off type assertion for that argument. Fixed the result type intersection stuff not to gag on NIL assertions. Also, tweaked the formatting a bit to reduce wrapped lines, etc.
ram authoredof type NIL, and downgraded the message from lossage to slime. Spiffed up ASSERT-DEFINITION-TYPE in various ways. It now takes various arguments which provide additional control. In particular, the REALLY-ASSERT argument allows this function to be used to give function redefinition notes without applying bogus type assertions. Also, fixed optional and keyword handling to take into account the possibility that the default might legally not be of the type in the function type. If the default is constant, we union its type in, otherwise we write off type assertion for that argument. Fixed the result type intersection stuff not to gag on NIL assertions. Also, tweaked the formatting a bit to reduce wrapped lines, etc.