JarrettBillingsley
Joined: 20 Jun 2006 Posts: 457 Location: Pennsylvania!
|
Posted: Wed Oct 24, 2007 9:44 pm Post subject: October 24 -- Rather important bugfixes |
|
|
Not a lot changed, but there are two bug fixes. I hate myself.
Changed
- Better error message when you try to compare two values that can't be compared.
Fixed
- Comparison in some cases will no longer cause an internal interpreter error (*bang head against wall*).
- Assigning a null value to a table key-value pair now actually removes the pair from the table (*commit ritual suicide*).
- The check to make sure that you couldn't reassign a class instance's methods was too broad, and as a result, prevented you from changing a field which held a function reference. Now uses a different way to check this. If you try to reassign a class instance's methods, you'll now get an "attempting to access nonexistent member" error instead.
Because I found the first two, I beefed up the tests.interpreter module. It increases coverage for types.d considerably. Thankfully I didn't find any more errors in the interpreter after those first two.
Something odd I discovered, though, is that yielding in an opCall metamethod will not give an error as for other metamethods. The reasons for this are somewhat complex and would involve explaining a lot of the internals of the interpreter. I don't think I like this exception to the rule, though, so I'll try to fix it soon.
Also, I added samples/thread.md, just a bit of waffling around with coroutines. Kind of cool to see what kinds of things can be done with them.
Last edited by JarrettBillingsley on Fri Nov 02, 2007 5:40 pm; edited 1 time in total |
|