• Guido van Rossum's avatar
    Surprising fix for SF bug 563060: module can be used as base class. · 2e4e0262
    Guido van Rossum authored
    Change the module constructor (module_init) to have the signature
    __init__(name:str, doc=None); this prevents the call from type_new()
    to succeed.  While we're at it, prevent repeated calling of
    module_init for the same module from leaking the dict, changing the
    semantics so that __dict__ is only initialized if NULL.
    
    Also adding a unittest, test_module.py.
    
    This is an incompatibility with 2.2, if anybody was instantiating the
    module class before, their argument list was probably empty; so this
    can't be backported to 2.2.x.
    2e4e0262
NEWS 138 KB