diff options
author | Robert Bradshaw <robertwb@gmail.com> | 2013-08-02 23:30:02 -0700 |
---|---|---|
committer | Robert Bradshaw <robertwb@gmail.com> | 2013-08-02 23:30:02 -0700 |
commit | 333e4fc4a594c9fa285075a668c04af086da9333 (patch) | |
tree | c637256707bceba1b80b7468f1d33fdd26fee534 | |
parent | 4032433cec52533533f1b2c4964fb834f069c590 (diff) | |
download | cython-333e4fc4a594c9fa285075a668c04af086da9333.tar.gz |
Added limitations from wiki.
--HG--
extra : transplant_source : %AE%AE%EB%26%11d%C3%C4%BD/e%F6%08%08%40z%DD%C4%D1%E0
-rw-r--r-- | docs/src/userguide/limitations.rst | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/src/userguide/limitations.rst b/docs/src/userguide/limitations.rst index e95968a68..d3ad7b407 100644 --- a/docs/src/userguide/limitations.rst +++ b/docs/src/userguide/limitations.rst @@ -14,3 +14,59 @@ future version 1.0 of Cython is planned to provide full Python language compatibility. .. _`list of remaining compatibility issues`: http://trac.cython.org/cython_trac/query?status=assigned&status=new&status=reopened&component=Python+Semantics&component=Python3+Semantics&order=priority&col=id&col=summary&col=component&col=status&col=type&col=priority&col=milestone + +Below is a list of differences that we will probably not be addressing. +Most of these things that fall more into the implementation details rather +than semantics, and we may decide not to fix (or require a --pedantic flag to get). + + +========== +Nested tuple argument unpacking. +========== + +:: + + def f((a,b), c): + pass + +This was removed in Python 3. + + +========== +Inspect support +========== + +While it is quite possible to emulate the interface of functions in +Cython's own function type, and recent Cython releases have seen several +improvements here, the "inspect" module does not consider a Cython +implemented function a "function", because it tests the object type +explicitly instead of comparing an abstract interface or an abstract +base class. This has a negative impact on code that uses inspect to +inspect function objects, but would require a change to Python itself. + + +========== +Stack frames +========== + +Currently we generate fake tracebacks as part of exception propagation, +but don't fill in locals and can't fill in co_code. +To be fully compatible, we would have to generate these stack frame objects at +function call time (with a potential performance penalty). We may have an +option to enable this for debugging. + +========== +Identity vs. equality for inferred literals. +========== + +:: + a = 1.0 # a inferred to be double + b = c = None # a inferred to be type object + if some_runtime_expression: + b = a + c = a + print b is c # py float created twice + + + + |