Skip to content
  • Paul Sokolovsky's avatar
    moductypes: Make sure we can apply .sizeof() to all aggregate types. · 2559e139
    Paul Sokolovsky authored
    Before, sizeof() could be applied to a structure field only if that field
    was itself a structure. Now it can be applied to PTR and ARRAY fields too.
    It's not possible to apply it to scalar fields though, because as soon as
    scalar field (int or float) is dereferenced, its value is converted into
    Python int/float value, and all original type info is lost. Moreover, we
    allow sizeof of type definitions too, and there int is used to represent
    (scalar) types. So, we have ambiguity what int may be - either dereferenced
    scalar structure field, or encoded scalar type. So, rather throw an error
    if user tries to apply sizeof() to int.
    2559e139