Issue with sip-6.7.8

Phil Thompson phil at riverbankcomputing.com
Wed Apr 12 18:52:24 BST 2023


On 11/04/2023 19:01, Jeremy Sanders wrote:
> Hi -
> 
> I'm getting a CI failure for my project with sip-6.7.8, as installed
> from the wheel on Python 3.8, on both linux and windows.
> 
> The definition in the sip file
> (https://github.com/veusz/veusz/blob/master/src/threed/threed.sip)
> looks like:
> 
> class LineSegments : public Object
> {
> %TypeHeaderCode
> #include <objects.h>
> %End
>  public:
>   LineSegments(const ValVector& x1, const ValVector& y1, const 
> ValVector& z1,
>                const ValVector& x2, const ValVector& y2, const 
> ValVector& z2,
>                const LineProp* prop /Transfer/);
>   LineSegments(const ValVector& pts1, const ValVector& pts2,
>                const LineProp* prop /Transfer/);
> };
> 
> And the error when running looks like:
> 
>   File "/home/runner/work/veusz/veusz/veusz/widgets/graph3d.py", line
> 169, in addBorder
>     ls = threed.LineSegments(
> TypeError: arguments did not match any overloaded call:
>   LineSegments(x1: ValVector, y1: ValVector, z1: ValVector, x2:
> ValVector, y2: ValVector, z2: ValVector, prop: LineProp): argument 3
> has unexpected type 'LineProp'
>   LineSegments(pts1: ValVector, pts2: ValVector, prop: LineProp):
> argument 3 has unexpected type 'LineProp'
>   LineSegments(a0: LineSegments): argument 1 has unexpected type 
> 'ValVector'
> 
> The error message doesn't make much sense, as the the second overload
> should work fine (pts1 and pts are ValVector and prop is a LineProp).
> 
> It previously built fine with sip-6.7.7.
> 
> Could this be a bug?

Yes. Should be fixed in the next snapshot. It only affects constructors 
with an argument annotated with /Transfer/.

Thanks,
Phil


More information about the PyQt mailing list