The Any
Type is a type that is matches against all other types in the language. Structs, primitives, strings, arrays, array views, and dynamic arrays are all auto castable to Any
Type. Take for example the print
function in the Basic module:
print :: (fmt: string, param: ..Any) {
//..
}
The print function takes in a parameter of Any
time, and the type information is available at runtime.
The Any
Type is a tuple of two values: the type info and the pointer to the value.
Any :: struct {
type: *Type_Info;
value_pointer: *void;
}