For some reason, ClassType class objects were being checked using the _classChecker function to create a checker. This function does not seem to be used elsewhere, and appears to be inappropriate for checking classic classes.
I've changed it so that we use the _typeChecker for classic classes. This is the same checker that is used for type objects.
Perhaps there was a reason the _classChecker was used instead. There is some odd code in _classChecker that leaves Exception class objects unwrapped. Why is this needed? Only exception instances need to remain unwrapped.
Status: Pending => Resolved
I'm about to check in a fix to this.
For some reason, ClassType class objects were being checked using the _classChecker function to create a checker. This function does not seem to be used elsewhere, and appears to be inappropriate for checking classic classes.
I've changed it so that we use the _typeChecker for classic classes. This is the same checker that is used for type objects.
Perhaps there was a reason the _classChecker was used instead. There is some odd code in _classChecker that leaves Exception class objects unwrapped. Why is this needed? Only exception instances need to remain unwrapped.