SIGN IN SIGN UP

Wrote down the invariants of some common objects whose structure is

exposed in header files.  Fixed a few comments in these headers.

As we might have expected, writing down invariants systematically exposed a
(minor) bug.  In this case, function objects have a writeable func_code
attribute, which could be set to code objects with the wrong number of
free variables.  Calling the resulting function segfaulted the interpreter.
Added a corresponding test.
A
Armin Rigo committed
89a39461bff04b80bb4857790350e1ab30ff2df9
Parent: 063e1e8