Improved type system

This commit is contained in:
Eduard Urbach 2025-02-09 23:52:07 +01:00
parent c0ffddaba8
commit 2e3857622a
Signed by: eduard
GPG key ID: 49226B848C78F6C8
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
}