It still doesn't generate a proper error message if a non-RandomGenerator 'self' is used, however.
@@ -126,7 +126,7 @@ static FFI_RandomGenerator ffifuncs =
[](Proxy *p) -> double // random()
{
// FIXME: We need better type-checking...
- if (!typeFlags[p->type][MATH_RANDOM_GENERATOR_ID])
+ if (p == nullptr || !typeFlags[p->type][MATH_RANDOM_GENERATOR_ID])
return 0.0;
RandomGenerator *rng = (RandomGenerator *) p->object;