This new release is marking a closing in on feature parity to CPython 2.6 which is an important mile stone. Once this is reached, a "Nuitka 0.3.x" series will strive for performance.
- Generator functions no longer leak references when started, but not finished.
- Yield can in fact be used as an expression and returns values that the generator user send() to it.
Reduced Differences / New Features
Generator functions already worked quite fine, but now they have the throw(), send() and close() methods.
Yield is now an expression as is ought to be, it returns values put in by send() on the generator user.
Support for extended slices:
- The "test_contextlib" is now working perfectly due to the generator functions having a correct throw(). Added that test back, so context managers are now fully covered.
- Added a basic test for "overflow functions" has been added, these are the ones which have an unknown number of locals due to the use of language constructs exec or from bla import * on the function level. This one currently only highlights the failure to support it.
- Reverted removals of extended slice syntax from some parts of the CPython test suite.
- The compiled generator types are using the new C++0x type safe enums feature.
- Resolved a circular dependency between TreeBuilding and TreeTransforming modules.