-
Notifications
You must be signed in to change notification settings - Fork 229
Cython 3.1 compatibility #1575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I have ~16 projects that I’m working on that don’t work with 3.1.x. I’m working through the smaller ones first. It’s going to take a while to get here. If it ships before I get to it, I’ll do a new release to pin Cython |
We use object when we don’t want Cython to convert it to a native type and we want a PyInt. Usual workaround it to assign the type to _int = int and than change the type to _int. That has prevented Cython from converting it |
There's also the possibility of using |
Fixed in master, release pending |
Cython 3.1.0 is in RC phase already, so we can expect a final release sooner than later. As #1559 shows, zeroconf currently doesn't work with it and I wasn't able to find any tracking issue for the issues.
I have been trying to fix it myself but I'm afraid it's above my pay grade. From what I gather, Cython 3.1 got better at type annotations in
.py
files, and all the issues I've hit were somehow related to type annotations.I've filed #1574 to fix one case of low-hanging fruit.
Another issue I've noticed is the type mismatch in
DNSRecord.ttl
:python-zeroconf/src/zeroconf/_dns.pxd
Lines 45 to 47 in f5c15e9
python-zeroconf/src/zeroconf/_dns.py
Lines 164 to 178 in f5c15e9
Other signature mismatches I couldn't grasp. It is possible that they are actually a bug in Cython, but I don't really know Cython, so I'd appreciate if someone with better understanding of it checked, and possibly reported a bug upstream.
FWICS I can reproduce the same error with the following minimal reproducer:
.pxd:
.py:
but I don't know how
int
is supposed to be mapped here.The text was updated successfully, but these errors were encountered: