Improved type system

This commit is contained in:
2025-02-09 23:52:07 +01:00
parent 7634244c56
commit f19d9063a5
30 changed files with 132 additions and 85 deletions

View File

@ -2,6 +2,6 @@ main() {
writeToMemory(42)
}
writeToMemory(p Pointer) {
writeToMemory(p *Any) {
p[0] = 'A'
}

View File

@ -46,7 +46,7 @@ var errs = []struct {
{"MissingParameter3.q", errors.MissingParameter},
{"MissingType.q", errors.MissingType},
{"ReturnCountMismatch.q", &errors.ReturnCountMismatch{Count: 1, ExpectedCount: 0}},
{"TypeMismatch.q", &errors.TypeMismatch{Expected: "Pointer", Encountered: "Int64", ParameterName: "p"}},
{"TypeMismatch.q", &errors.TypeMismatch{Expected: "*Any", Encountered: "Int64", ParameterName: "p"}},
{"UnknownFunction.q", &errors.UnknownFunction{Name: "unknown"}},
{"UnknownFunction2.q", &errors.UnknownFunction{Name: "f"}},
{"UnknownIdentifier.q", &errors.UnknownIdentifier{Name: "x"}},

View File

@ -2,6 +2,5 @@ import mem
main() {
address := mem.alloc(1024)
err := mem.free(address, 1024)
assert err == 0
assert mem.free(address) == 0
}