struct: fix issue where generics instantiations would have a different module

This commit is contained in:
Shiz 2021-08-08 23:02:55 +02:00
parent dcdb37b0f4
commit c8284b9448
1 changed files with 4 additions and 3 deletions

View File

@ -289,10 +289,11 @@ class Struct:
item = (item,)
subtype = cls._sx_type_[item]
new_name = '{}[{}]'.format(cls.__name__, ', '.join(str(g) for g in subtype.bound))
new = type(new_name, (cls,), {})
new = type(new_name, (cls,), {
'__module__': cls.__module__,
'__slots__': cls.__slots__,
})
new._sx_type_ = subtype
new.__slots__ = cls.__slots__
new.__module__ = cls.__module__
subtype.cls = new
return new