Added struct lifetime test

This commit is contained in:
2025-03-10 15:58:31 +01:00
parent 0d562e8002
commit 7807271f43
3 changed files with 12 additions and 0 deletions

View File

@ -39,6 +39,9 @@ func (f *Function) CompileAssign(node *ast.Assign) error {
case *eval.Register:
f.Execute(operation, leftValue.Register, right)
case *eval.Memory:
// TODO: Reservation needs to be canceled on defer
f.CurrentScope().Reserve(leftValue.Memory.Base)
if operation.Kind == token.Assign {
rightValue, err := f.Evaluate(right)

View File

@ -0,0 +1,8 @@
main() {
c := new(Counter)
c.value += 16
}
struct Counter {
value int
}

View File

@ -69,6 +69,7 @@ var programs = []struct {
{"index-static", 0},
{"index-dynamic", 0},
{"struct", 0},
{"struct-lifetime", 0},
{"len", 0},
{"cast", 0},
{"function-pointer", 0},