diff options
Diffstat (limited to 'docs/src/userguide/migrating_to_cy30.rst')
-rw-r--r-- | docs/src/userguide/migrating_to_cy30.rst | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/src/userguide/migrating_to_cy30.rst b/docs/src/userguide/migrating_to_cy30.rst index 357132887..1105ee15d 100644 --- a/docs/src/userguide/migrating_to_cy30.rst +++ b/docs/src/userguide/migrating_to_cy30.rst @@ -172,3 +172,20 @@ rather than relying on the user to test and cast the type of each operand. The old behaviour can be restored with the :ref:`directive <compiler-directives>` ``c_api_binop_methods=True``. More details are given in :ref:`arithmetic_methods`. + +Annotation typing +================= + +Cython 3 has made substantial improvements in recognising types in +annotations and it is well worth reading +:ref:`the pure Python tutorial<pep484_type_annotations>` to understand +some of the improvements. + +A notable backwards-compatible change is that ``x: int`` is now typed +such that ``x`` is an exact Python ``int`` (Cython 0.29 would accept +any Python object for ``x``). + +To make it easier to handle cases where your interpretation of type +annotations differs from Cython's, Cython 3 now supports setting the +``annotation_typing`` :ref:`directive <compiler-directives>` on a +per-class or per-function level. |