Updated pyrex differences and limitations to better reflect current Cython
authorggellner@encolpuis <none@none>
Sat, 27 Sep 2008 21:09:25 +0000 (17:09 -0400)
committerggellner@encolpuis <none@none>
Sat, 27 Sep 2008 21:09:25 +0000 (17:09 -0400)
docs/limitations.rst
docs/pyrex_differences.rst

index 363528d2c302b60193396be8f4ecb92ea2dbe372..a4f82eea2cfb32d8f3009fcaf8cb394d3d4357db 100644 (file)
@@ -77,10 +77,6 @@ Other Current Limitations
 
 * The :func:`globals` and :func:`locals` functions cannot be used.
 * Class and function definitions cannot be placed inside control structures.
-* Special methods of extension types cannot have functioning docstrings.
-* The use of string literals as comments is not recommended at present,
-  because Cython doesn't optimize them away, and won't even accept them in places
-  where executable statements are not allowed.
 
 Semantic differences between Python and Cython
 ----------------------------------------------
index fd471058780f93e4b6ecd11f44847f39f852eb47..2478b5ffb7957eeb824e06c057fe3470b7e05c1a 100644 (file)
@@ -77,6 +77,8 @@ yields::
     4
     6
     8
+
+.. note:: see :ref:`automatic-range-conversion`
        
 
 Boolean int type (e.g. it acts like a c int, but coerces to/from python as a boolean)
@@ -168,7 +170,9 @@ of step) can be determined.
     This may change the semantics if the range causes
     assignment to ``i`` to overflow. Specifically, if this option is set, an error
     will be raised before the loop is entered, whereas without this option the loop
-    will execute until a overflowing value is encountered. 
+    will execute until a overflowing value is encountered. If this effects you
+    change ``Cython/Compiler/Options.py`` (eventually there will be a better
+    way to set this).
 
 More friendly type casting
 --------------------------
@@ -260,3 +264,12 @@ file with an encoding comment and generally write your source code in UTF-8.
 This impacts the encoding of byte strings and the conversion of unicode string
 literals like ``u'abcd'`` to unicode objects.
 
+Automatic ``typecheck``
+========================
+
+Rather than introducing a new keyword :keyword:`typecheck` as explained in the
+`Pyrex docs
+<http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/version/Doc/Manual/special_methods.html>`_,
+Cython emits a (non-spoofable and faster) typecheck whenever
+:func:`isinstance` is used with an extension type as the second parameter.
+