Strict type check problem in Standards.ASN1.Decode
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4503
Reported by Martin Stjernholm mast@roxen.com
Pike 7.7 currently gives these warnings when Standards.ASN1.Decode is compiled:
lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod:154: Warning: An
expression of type object(is 49794912) cannot be assigned to a variable of
type { Object = object(implements Standards.ASN1.Types.asn1_object) }.
lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod:178: Warning: Wrong return
type.
lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod:178: Warning: Expected: {
Object = object(implements Standards.ASN1.Types.asn1_object) }
lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod:178: Warning: Got :
object(is
object(/home/mast/Pike/no-changes-7.7/lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod).primitive)
| mixed
I can't see anything wrong in the code for the first warning on line 154.
As for the second warning, I don't understand how to interpret the error;
specifically the type "object(is object(...).primitive)". Perhaps the type
checker has failed to carry over the type from the class "Primitive" to the
constant "primitive"?