26 lines
519 B
Plaintext
26 lines
519 B
Plaintext
#import "modules/std.sx";
|
|
|
|
// Issue: nested field assignment through pointer
|
|
// self.inner.field = value should work when self is a pointer
|
|
|
|
Inner :: struct {
|
|
len: s64;
|
|
cap: s64;
|
|
}
|
|
|
|
Outer :: struct {
|
|
inner: Inner;
|
|
count: s64;
|
|
|
|
reset :: (self: *Outer) {
|
|
self.inner.len = 0; // error: field assignment target must be a variable
|
|
self.count += 1;
|
|
}
|
|
}
|
|
|
|
main :: () {
|
|
o := Outer.{ inner = Inner.{ len = 5, cap = 10 }, count = 0 };
|
|
o.reset();
|
|
print("{}\n", o.inner.len);
|
|
}
|