> What about amending type declarations with (or null original-
> declaration)?
That potentially makes the loop less efficient (more typechecking,
possible extra dispatches / lack of inlining). Also, we can't a priori
tell what is a type declaration of a user-defined type (in the short
form) and what is a magical declaration in the cltl2 sense.
The Right Thing is that the user code is broken. The fact that this has
caused a user to raise a bug asserting that our implementation is broken
suggests that we either need to perfect the illusion of doing what the
user meant in all cases, or aggressively assert that the user code is
broken -- and I don't think that we can perfect the illusion.
Stas Boukarev <email address hidden> writes:
> What about amending type declarations with (or null original-
> declaration)?
That potentially makes the loop less efficient (more typechecking,
possible extra dispatches / lack of inlining). Also, we can't a priori
tell what is a type declaration of a user-defined type (in the short
form) and what is a magical declaration in the cltl2 sense.
The Right Thing is that the user code is broken. The fact that this has
caused a user to raise a bug asserting that our implementation is broken
suggests that we either need to perfect the illusion of doing what the
user meant in all cases, or aggressively assert that the user code is
broken -- and I don't think that we can perfect the illusion.