We want to be able to represent an equivalent of the following code in Python and generate the same C code using the C backend: ```c struct A { int32_t x; float y; }; void f(struct A *a) { int32_t x = a->x; float y = a->y; ... } ``` Here is one approach how the Python code could look like: ```python @dataclass class A: x: i32 y: f32 @ccallable def f(a: CPtr) -> None: x: i32 y: f32 a2: Pointer[A] c_p_pointer(a, a2) x = a2.x y = a2.y ``` It looks like two prerequisites are needed before we can tackle this: * [x] Implement structs using dataclasses (#607) * [x] Implement Pointer to structs (#608)
Activity
certik commentedon Jul 19, 2022
We can have pointer to structs at the C level. I keep the issue #608 open for a general solution using
Pointer. Not a high priority right now.