There are three ways to cast a type (that is, changing from a type to another one). One is "safe" while the two others are "unsafe".
Doing a safe casting is as simple as using the
cast keyword with the syntax
cast(variable, Type). Therefore, you can do:
var a : A; var b : B; b = cast(a, B);
This will work if
a is in fact an instance of
B. If it's not, you will get an error at runtime.
You can do an unsafe casting by using the
cast keyword in another way. If you just write
cast followed by a variable or a value, you can use it as any type. So, for example, the following will compile:
var i : Int; i = cast "Hello";
Keep in mind that although this code will compile, it is absolutely possible that depending on the ...