Skip to content

[Python] Invalid generated code for packing structs with array of struct fields #8775

@peter-soos

Description

@peter-soos

using flatc version 25.2.10

namespace a;

struct Vec3 {
  v:[float:3];
}

struct Mat3 {
  r:[Vec3:3];
}
import flatbuffers

import a.Vec3
import a.Mat3

r0 = a.Vec3.Vec3T()
r1 = a.Vec3.Vec3T()
r2 = a.Vec3.Vec3T()

r0.v = [1.0, 2.0, 3.0]
r1.v = [4.0, 5.0, 6.0]
r2.v = [7.0, 8.0, 9.0]

builder = flatbuffers.Builder()

m = a.Mat3.Mat3T()
m.r = [r0, r1, r2]
m.Pack(builder)
`Traceback (most recent call last):
  File "/a/test.py", line 18, in <module>
    m.Pack(builder)
  File "/a/a/Mat3.py", line 89, in Pack
    return CreateMat3(builder, self.r.v)
AttributeError: 'list' object has no attribute 'v'`

Mat3.py
Vec3.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions