Additional features for structs
Bhathiya Perera
YAMA 0007 - Additional features for structs
- Author(s): Bhathiya Perera
- Status : ✅
Structures are at the moment can be created as follows
@onstack
class Banana:
    color: int
    origin: int
# Orange is a heap allocated class
class Orange:
    color: int
    origin: intItem 1 - Allocate single object on heap ✅
a: Ptr[Banana] = make("Banana")
b: Orange = make("Orange")Item 2 - Create structures or classes
a: Banana = Banana {color: YELLOW, origin: SRI_LANKA}struct Banana a = (struct Banana){.color = YELLOW, .origin = SRI_LANKA};b: Orange = Orange {color: ORANGE, origin: SOUTH_AFRICA} struct Orange* _temp = calloc(1, sizeof(struct Orange));
_temp->color  = ORANGE;
_temp->origin = SOUTH_AFRICA;
struct Orange* b = _temp;Item 3 - Introduce struct keyword, desugar to @onstack class ✅
struct Banana:
    color: int
    origin: int