Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Nuitka
Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.
I wonder if that's a mypy issue or more that the typeshed types are bugged, since type shed versions also get shipped (used to?) with new type checker versions.
https://github.com/python/typeshed
I've had this problem a few times., For example it happened with the 0.800+ versions. It got stricter, and was more aggressive in finding code (eg small scripts in not in the proper python hierarchy).
I can't show any of my professional work (no publicly available src) but this side project of mine is locked to 0.790 until I can find time to sort the issues: https://github.com/calpaterson/quarchive/tree/master/src/ser...
It's hard to classify anything as a "false negative" with mypy since it is very liberal (often unexpectedly so, which I think is one of the sharp edges of gradual typing).
Even aside from deliberate backwards-compatibility breaks in the standard, compilers sometimes break compatibility. Both MSVC and GCC 11 have changed their header file transitive includes within the past few years, causing projects (like doctest and Qt5) to stop compiling because they forgot to include headers, which built fine in the past but not anymore. IDK if it's "very common", but it's definitely happening in the wild.
MSVC: https://github.com/onqtam/doctest/issues/183
GCC:
- https://invent.kde.org/qt/qt/qtbase/-/commit/8252ef5fc6d0430...
- https://invent.kde.org/qt/qt/qtbase/-/commit/cb2da673f53815a...
That's really neat, I hadn't heard of mypyc!
How does it compare to Nuitka? https://nuitka.net