You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following 04b3b94, runtime types should now force type erasure. This prevents many of the evaluators runtime checks from being meaningful, most notably with Struct properties (since existence is tied to the type).
Reified generics appear to be the best solution for this, which will likely require adding an invocation context to functions for storing runtime generic bindings. This context can also be used for storing the evaluator instance (rather than using a global variable) as well as debug information for errors in native functions with #3.
The text was updated successfully, but these errors were encountered:
)
This replaces Context.arguments with Context.generics, since the only use of
arguments was to extract runtime generic types for constructing return values.
These generics are computed following the same rules as Scope resolution, but
using runtime types. Consequently, the type checking peformed when invoking
native functions should now validate generic relations as well (this is more of
an improvement as part of reified generics than an outright fix, but a key step
towards safety here).
Note that runtime times are still lacking as the Evaluator itself is using type
erasure; this only fixes the handling for the standard library.
Following 04b3b94, runtime types should now force type erasure. This prevents many of the evaluators runtime checks from being meaningful, most notably with Struct properties (since existence is tied to the type).
Reified generics appear to be the best solution for this, which will likely require adding an invocation context to functions for storing runtime generic bindings. This context can also be used for storing the evaluator instance (rather than using a global variable) as well as debug information for errors in native functions with #3.
The text was updated successfully, but these errors were encountered: