Goose  Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

3 check-ins using file bs/g0api/extensibility/eir.cpp version e3b62b5f7b

2021-11-11
01:00
  • refactored the ref syntax again: "ref" is now an infix operator that takes an "AccessLevel" compile time value (mut/const/temp) on the lhs, or a TVar to capture/constrain it
  • used the above feature to fix the constref verification _ConvertArg overload which was silently dereferencing the arg, causing it to get converted to a temp ref in all cases
check-in: d679acf746 user: zlodo tags: trunk
2021-11-05
12:56
Fixed non mutable reference passing verification. It was a completely stupid error entirely in the prelude. I'm already fucking up using my own language, this bode well check-in: 0c58009de2 user: zlodo tags: trunk
2021-11-03
22:55
  • References: ref now creates a template type accepting any kind of reference, and mut/const/temp are prefix operators turning that into a ref (or template ref) type of the corresponding kind (this also changes the syntax from ref mut XXX to mut ref XXX which is more natural)
  • Fixed the bizarely broken implicit referencing typechecking rule that performed a superfluous intermediate TypeCheck that crashed on non mutable template reference types
  • Fixed builtin function wrapper that omitted a cast of the return value to the specified type, which allowed builtin functions to silently return values of a different type than advertised, resulting in fun type checking errors
  • Fixed a bunch of fucked up return types that worked by chance (because of the above) in several g0 api functions
  • Implemented non mutable reference passing verification + related tests (it doesn't work yet but too many fixes need to be committed first)
check-in: 55994a469a user: zlodo tags: trunk