◐ Shell
clean mode source ↗

Message 158337 - Python tracker

a = map(add, a, b) also crashes this.
 a = chain(a, b) also.
If, by "provisions" you speak of sys.max_recursion_depth, that is only invoked when executing "python" code.  What's happening here is just simple c recursion trough function pointers, ending in stack overflow, at least on Windows:


>	python33_d.dll!chain_next(chainobject * lz)  Line 1811 + 0x6 bytes	C
 	python33_d.dll!PyIter_Next(_object * iter)  Line 2741 + 0xf bytes	C
 	python33_d.dll!chain_next(chainobject * lz)  Line 1823 + 0xc bytes	C
 	python33_d.dll!PyIter_Next(_object * iter)  Line 2741 + 0xf bytes	C
 	python33_d.dll!chain_next(chainobject * lz)  Line 1823 + 0xc bytes	C
 	python33_d.dll!PyIter_Next(_object * iter)  Line 2741 + 0xf bytes	C