The freeze() staticmethods of Color, Vector, Matrix, Euler and Quaternion have no return type defined, so are implicitly typed as returning None instead of a frozen copy of the object.
The reason for this is that Blender uses the same method for all these classes and therefore the same documentation, which therefore includes a generic "An instance of this object." return type.
I don't know C so I can't tell how easy it would be to change Blender's source to make this documentation more specific, but perhaps if it's not practical a patch can be applied in this module.
The
freeze()
staticmethods ofColor
,Vector
,Matrix
,Euler
andQuaternion
have no return type defined, so are implicitly typed as returningNone
instead of a frozen copy of the object.The reason for this is that Blender uses the same method for all these classes and therefore the same documentation, which therefore includes a generic "An instance of this object." return type.
I don't know C so I can't tell how easy it would be to change Blender's source to make this documentation more specific, but perhaps if it's not practical a patch can be applied in this module.